Search this site
Embedded Files
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
  • More
    • Home
    • Courses
    • Contact

English  ❯

レッスン 2   ❮   レッスン一覧    ❮    トップ

2.1  ブールでのフィルタリング

2.2  グルーピング

2.3  アグリゲーション

❯  2.4  連鎖・結合・マージ

⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
推定完了時間
❲▹❳  動画   8m22s
☷  コード資料   10m

連鎖・結合・マージの比較

concat 連鎖

    • pandasの関数

    • 2つ以上のpandasオブジェクトを縦または横に結合

    • インデックス上でのみ整列する

    • インデックスに重複があるとエラーになる

    • デフォルトは外側結合で、内側結合のオプションもある


join 結合

    • DataFrameのメソッド

    • 2つ以上のpandasオブジェクトを横方向に結合

    • 呼び出したDataFrameの列またはインデックスを、他のオブジェクトのインデックスに合わせる

    • カルテシアン積を実行することで、結合する列やインデックスの重複した値を処理する

    • デフォルトは左結合で、内側、外側、右のオプションがある


merge マージ

    • DataFrameのメソッド

    • 2つのDataFrameを横方向に結合

    • 呼び出したDataFrameの列やインデックスを、もう一方のDataFrameの列やインデックスに合わせる

    • カルテシアン積を実行することで、結合する列/インデックス上の重複する値を処理する

    • デフォルトは内側結合で、左側、外側、右側のオプションがある

2016年、2017年、2018年のデータを、read_csv関数のループを使ってDataFramesのリストに読み込んでみましょう。

縦方向の結合

concat関数は、DataFramesを縦に結合できる唯一の関数です。リストstock_tablesを渡して、これを実行してみましょう。

これから、DataFramesを横方向に結合するため、joinメソッドやmergeメソッドを使ってconcatの機能を再現することができます。ここでは、joinメソッドを使って、stock_2016とstock_2017のDataFrameを結合してみましょう。

横方向の結合

デフォルトでは、DataFrameはインデックスで整列します。同じ名前の列がある場合は、結果で区別するために、lsufixまたはrsufixパラメータに値を指定する必要があります。

concat関数の出力を正確に再現するには、DataFrameのリストをjoinメソッドに渡します。

インデックスを用いた結合

次に、concatやjoinとは異なり、2つのDataFramesを結合することができるmergeについて説明します。デフォルトでは、mergeはDataFramesごとに同じ名前の列の値を揃えようとします。しかし、ブールパラメーターのleft_indexとright_indexをTrueに設定することで、インデックスで揃えるようにすることができます。2016年と2017年をマージしてみましょう。

デフォルトでは、mergeはinner joinを使用し、同じ名前の列には自動的に末尾に付け加えます。how=outerに変更して、2018年のデータの外側joinを実行し、concatを再現してみましょう。

©2023. All rights reserved.  Samy Baladram,
Graduate Program in Data Science - GSIS - Tohoku University
Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse