Pandas のデータフレームに行や列 (カラム) を追加する

このページでは、Pandas で作成した、もしくは、読み込んだデータフレームに行や列 (カラム) を追加する方法について紹介します。

行を追加する

>>> import pandas as pd
>>> import numpy as np

>>> # データフレーム df を作成
>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
>>> df
   A  B
0  1  2
1  3  4

>>> # データフレーム df2 を作成
>>> df2 = pd.DataFrame([[5, 6]], columns=list('AB'))
>>> df2
   A  B
0  5  6

>>> # データフレーム df と df2 を結合
>>> df.append(df2)
   A  B
0  1  2
1  3  4
0  5  6

複数行の追加は以下のようにして行います。

>>> # データフレーム df3 を作成
>>> df3 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
>>> df3
   A  B
0  5  6
1  7  8

>>> # データフレーム df と df3 を結合
>>> df.append(df3)
   A  B
0  1  2
1  3  4
0  5  6
1  7  8

上記の例では、元の行番号のまま追加が行われますが、ignore_index=True パラメータを指定することで、新たな行番号を割り当てることができます。

>>> # データフレーム df と df3 を結合 (元の行番号を無視)
>>> df.append(df3, ignore_index=True)
   A  B
0  1  2
1  3  4
2  5  6
3  7  8

列 (カラム) を追加する

作成済みのデータフレームに新しい列名を追加することで、列の追加ができます。
追加するデータは Python のリストや Numpy の行列 (Array) を指定できます。

>>> # データフレーム df を作成
>>> df = pd.DataFrame([["0001", "John"], ["0002", "Lily"]], columns=['id', 'name'])
>>> df
     id  name
0  0001  John
1  0002  Lily

>>> # 列 "job" を追加
>>> df['job'] = ["Engineer", "Sales"]
>>> df
     id  name       job
0  0001  John  Engineer
1  0002  Lily     Sales
>>> 

>>> # 列 "age" を追加 (Numpy Array を追加)
>>> df['age'] = np.array([35, 25])
>>> df
     id  name       job  age
0  0001  John  Engineer   35
1  0002  Lily     Sales   25

参考: pandas.DataFrame.append — pandas 0.18.0 documentation