このページでは、Pandas で作成した、もしくは、読み込んだデータフレームに行や列 (カラム) を追加する方法について紹介します。
行を追加する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
>>> 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 |
複数行の追加は以下のようにして行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
>>> # データフレーム 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
パラメータを指定することで、新たな行番号を割り当てることができます。
1 2 3 4 5 6 7 |
>>> # データフレーム 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) を指定できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
>>> # データフレーム 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