データフレームに新たな行や列を加える方法です。既存のデータフレームにリストで加える場合は、既存のデータフレーム名をdfとすると、df[’新列名’]=[リスト]とすることで増やせます。
経済統計の使い方では、統計データの入手法から分析法まで解説しています。

行や列を加える
列名を取り出す
df[’列名’]
データフレームに角カッコをつけ、列名を指定すると、その列を指定したことになります。これでは、列を加えたことになりません。しかし、新たな列名を指定して、リストで値を入力すると、列を加えることになります。以下のデータフレームに加えていきたいと思います。
df1
国名 2000 2010 2020
0 A国 400 410 420
1 B国 330 340 350
2 C国 240 250 260
データフレーム名の後に角カッコをつけ、列名を入れると、2000という列を表します。
df1[’2000']
2000
0 400
1 330
2 240
dtype: int64
新たな列を加える
df[’新列名’]=[リスト]
新たな列を加えるには、各カッコの中に新列名を入れ、それに対応する値をリストの形で指定します。
df1['2025']=[430,360,270]
print(df1)
出力
国名 2000 2010 2020 2025
0 A国 400 410 420 430
1 B国 330 340 350 360
2 C国 240 250 260 270
assignメソッド(列の追加)
assign(新列名=1)
assignメソッドを使っても、列を増やすことができます。ただ、通常のデータを増やす用途には適しません。df[’列名’]=[リスト]で作成すれば済みます。
しかし、assingメソッドは、平均や合計を計算したり、同じ数字を一つの列に入れる場合に便利です。文字列=数字とすると、同じ数字が各行に入ります。列名(カラム名)は文字列の場合でも’’で囲みません。
df2=df1.assign(地域=1)
print(df2)
出力
国名 2000 2010 2020 地域
0 A国 400 410 420 1
1 B国 330 340 350 1
2 C国 240 250 260 1
また、データフレームを結合(mergeやconcat)することでも、列を追加できます。appendでも行や列の追加ができますが、concatの方が簡単です。
dropメソッド(列の削除)
df.drop(’列名’,axis= )
行や列を削除する場合は、dropメソッドを使います。行を削除する場合はaxis=0(省略可),列を削除する場合はaxis=1です。
df2=df1.drop('2020',axis=1)
print(df2)
出力
国名 2000 2010
0 A国 400 410
1 B国 330 340
2 C国 240 250
- 【python】 最小二乗法の計算|statsmodelsとscikit-learn
- 【python】とにかくどんなデータか知りたい
- 【python】行や列を加える(データフレーム)
- 【python】Pandasデータフレーム、NumPy配列、PyTorchテンソルの変換早見表
- 経済学Q&A(2025)試験の質問