[pandas] 14. Series, DataFrameの連結(.concat())

Pandas

はじめに

Series, DataFrameを連結することのできる.concat()について説明する。

解説

pandasのSeries, DataFrameは、連結して複数のDataFrameをひとつにすることができる。ここでは、連結方向や連結時のインデクスの処理方法について説明する。

モジュールのインポート

Seriesの連結

インデックスとして、[1,2,3]をもつSeriesと[4,5,6]をもつSeriesを作成し、これらをpd.concat([ser1, ser2])により合体させる。これにより、ser1とser2が連結したSeriesが作成される。
この際、Seriesのインデックスは保持される。

DataFrameの場合

データの生成

DataFrameの連結

pd.concat([df_0,df_1, df_2])で連結することができる。デフォルトでは、axis=0なので、列方向に連結される。

行方向にDataFrameを連結

行方向に連結したい場合は、axis=1とする。

インデックスの取扱について

インデックスに重複があるときにエラーをだすverify_integrity

verify_integrity=Trueとすることで、インデクス名が重複している場合、
#ValueError: Indexes have overlapping values: Int64Index([0, 1], dtype=’int64′)
というエラーが返ってくる。デフォルトでは、Falseなのでインデックスは保持される。

インデックスを無視して振り直す

ignore_index=Trueとすることで、いまあるインデックスを無視して、インデックスを振り直したDataFrameを作成する。

インデックスをマルチインデックス化

keyとnamesを設定することでインデックスをマルチインデックス化することができる。

参考

pandas.concat — pandas 2.2.3 documentation
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

コメント