[pandasの使い方] 15. Series, DataFrameの連結(.concat())

Pandas
スポンサーリンク

Series, DataFrameの連結(.concat())について

複数のSeries, DataFrameの連結

pandasのSeries, DataFrameは、複数のものを連結してひとつにすることができる。

ここでは、連結方向や連結時のインデクスの処理方法について説明する。

Seriesの場合

データの生成

インデクスとして、[1,2,3]をもつSeriesと[4,5,6]をもつSeriesを作成。

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

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

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

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

keys=[‘x’, ‘y’, ‘z’]と、keyを設定することで重複したインデクスをマルチインデクス化して区別できる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント