Pandasで行の追加(縦方向の連結)の操作メモ

pythonのデータフレームライブラリPandasで、行の追加(縦方向の連結)の操作メモ。列の追加(横方向の結合)ではなく。一行だけ追加する感じで。

基本はappendとconcat。列名で一致しないところはNaNで埋められる。

スポンサーリンク

やること

pandasで行を追加する。たとえばdf1に一行だけのdf2を追加する感じを想定。

この場合、df1.append(df2)か、pd.concat([df1,df2])を使う。

append

appendを使って追加。

import pandas as pd

df1 = pd.DataFrame({'one': [1,2,3], 'two': [10,20,30]}, index=['a','b','c'])
df2 = pd.DataFrame({'one': [4], 'three': [400]}, index=['d'])

df = df1.append(df2)

print(df)

結果は以下。

   one  three   two
a    1    NaN  10.0
b    2    NaN  20.0
c    3    NaN  30.0
d    4  400.0   NaN

列名が一致しないところはNaNで埋められる点に注意。それに合わせて他行の型も小数になってますな。

concat

concatを使って追加。

import pandas as pd

df1 = pd.DataFrame({'one': [1,2,3], 'two': [10,20,30]}, index=['a','b','c'])
df2 = pd.DataFrame({'one': [4], 'three': [400]}, index=['d'])

df = pd.concat([df1,df2])

print(df)

結果は上に同じ。

参考

参考にさせていただきました。ありがとうございます。

関連コンテンツ

関連記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。