[pandasの使い方] 17. DataFrameの連結(concat(), append())

Pandas
スポンサーリンク

pandasのDataFrameを連結する(.concat(), .append())について

インデクス名の異なる複数のDataFrameの連結

pandasで複数のDataFrameを連結してひとつにするには、concat(), append()が用いられる。

ここでは、concat()におけるjoinの使い方、append()について説明する。

データの生成

index=[1,2], columns=[1,2,3]のDataFrame (df_a)と、
index=[3,4], columns=[2,3,4]のDataFrame(df_b)を作成。

.concat()による連結

DataFrame中の要素がない部分はNaNとなる。

共通するインデクスの部分だけ結合

join=’inner’とすることで、共通するカラム名の部分のみが結合したDataFrameが得られる。

join_axesによる連結する列の指定

join_axes=[df_a.columns]とすることで、df_aのカラム名のみが連結したDataFrameが生成する。

.append()による連結

appendにより、pd.concat([df_a, df_b])としたときと同じ結果が得られる。

ただし、pythonの標準的なappendとは異なり、pandasでは、元のデータが変更されず、新しいオブジェクトが作成される。 新しいインデクスも作成されるため、メモリ的に、.append()はcancat()よりも非効率的となる。

参考

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

コメント