Python 同じインデックスを抽出して、列データを連結する「Pandasのmerge」
本記事では、2つのデータフレームがあって、共通のindex(行番号,行名)の行データに対して、列データを連結する手順を載せました。もし、重複する列名がある場合はそれらを削除する操作も記載しています。
データ1は、例えば下図のように506行×13列のデータである。
次に、データ2は下図のように300行列×14列のデータである。データ1との違いは、行が複数抜けている。また、列名「PRICE」が1列追加されている。
下図は、データ1と2の同じindexを結合したデータである。重複する列名には語尾に_x, _yが追記されている。これら列名を元に戻す操作を次以降で行う。
列名_yを一括で消す。
列名をリストで取得
列名_x の_xを除去
列名を代入すると下図のようになる。(ちなみに、これはデータ2と同じである。途中の処理をみてわかるように、実際のデータ処理におけるデータ1, 2は、互いに異なる列名が複数存在する状況、重複する列名が複数存在し得る状況を想定している。)
以上
<広告>
リンク
リンク