データフレームをどのように扱うか、まとめてみました。データフレームの作成法についてはを参照してください。
ここでは、データフレームの中身を見たり、列を追加したりするときのやり方を説明します。
経済統計の使い方では、統計データの入手法から分析法まで解説しています。

中身を知る
このデータフレームについて操作していきます。
import pandas as pd
df1 = pd.DataFrame({
"国名": ["A国", "B国","C国"],
"2000": [400, 330,240],
"2010": [410, 340,250],
"2020": [420, 350,260]
})
データを見る
df
print(df)
データフレームの名前のみを入力すると、データが表形式で出力されます。データ量が多い場合は最初の5行と最後の5行が表示されます。

print(df)としても出力されます。こちらもデータ量が多い場合は最初の5行と最後の5行が表示されます。
国名 2000 2010 2020
0 A国 400 410 420
1 B国 330 340 350
2 C国 240 250 260
そもそもデータフレームかどうかを確かめる
type(df)
データフレームかどうかを確かめるにはtype関数を使います。データフレームであれば、
<class’pandas.core.frame.DataFrame’>と表示されます。pandasというパッケージの中のcore.frameというモジュールにある、DataFrameというデータ型ということを示しています。データフレームはクラス(設計図)であり、メソッドが使えます。
print(type(df1))
出力
<class 'pandas.core.frame.DataFrame'>
データフレームの大きさを知る
df.shape
データフレームの大きさを知るには、shapeメソッドを使います。3行4列であることがわかります。
print(df1.shape)
出力
(3, 4)
データタイプを知る
df.dtypes
データフレームの要素のデータタイプを知るには、dtypesメソッドを使います。
print(df1.dtypes)
列名は、数値になったり文字になったりするので、objectになっています。国名は文字ですが、objectはすべての形を含みます。ほかはint64で、整数であることを表しています。
国名 object
2000 int64
2010 int64
2020 int64
dtype: object
データの一部を見る
df.head(),df.tail()
データの一部をみるには、headメソッドやtailメソッドがあります。()の中に数字を入れると、その行分だけ出力されます。何も入力しない場合はhead()は最初5行、tail()は最後5行が出力されます。
行や列を加える
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=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[’列名’]=[リスト]で作成すれば済みます。また、データフレームを結合(mergeやconcat)することでも、列を追加できます。appendでも行や列の追加ができますが、concatの方が簡単です。
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
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
- 経済学Q&A(2025)その4
- 経済学Q&A(2025)その3
- 経済学Q&A(2025)その2
- 【python】データフレームの中身を知る、追加する(pandas)
- 【python】データフレームの結合(pandas)