PythonのPandasを使って、空のDataFrameを作成し、それを0で埋める方法について詳しく解説します。
以下の内容は、初学者にも理解できるように、段階的に説明していきます。
目次
空のDataFrameを作成する基本
import pandas as pd
# 空のDataFrameを作成
df = pd.DataFrame()
print(df)
出力は以下の通りで、何のデータも持たないDataFrameになります。
Empty DataFrame
Columns: []
Index: []
行数や列数を指定して0埋めする
完全に0で埋まったDataFrameを作りたい場合、numpy.zeros()
やDataFrame
のコンストラクタを使うと便利です。
例:3行×4列の0埋めDataFrameを作成
import pandas as pd
import numpy as np
# 行数3、列数4の0埋めDataFrame
df = pd.DataFrame(np.zeros((3, 4)))
print(df)
出力
0 1 2 3
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
列名やインデックスを指定して0埋めする方法
列名・インデックスをカスタマイズしたいとき
columns = ['A', 'B', 'C']
index = ['row1', 'row2', 'row3']
df = pd.DataFrame(0, index=index, columns=columns)
print(df)
出力
A B C
row1 0 0 0
row2 0 0 0
row3 0 0 0
この方法では、初期値としてすべてのセルに0
が設定されます。
整数の0
を使っているため、整数型のDataFrameになります(必要ならdtype
指定も可能)。
応用:空のDataFrameにあとから0で埋める
例えば、空のDataFrameを作成したあと、特定のカラム構造だけ定義してあとから0を埋めたいという場合もあります。
まずカラムだけ定義し、あとから行を追加&0埋め
columns = ['A', 'B', 'C']
df = pd.DataFrame(columns=columns)
# 任意の行数を追加して0で埋める
df = pd.DataFrame(0, index=range(5), columns=columns)
print(df)
出力
A B C
0 0 0 0
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
注意点
pd.DataFrame()
だけでは空のままなので、ゼロで埋めたい場合は必ずデータ構造(shapeや列)を指定する。np.zeros()
はfloat型を生成するため、必要に応じてdtype=int
などで調整可能。
# int型の0で埋める
df = pd.DataFrame(np.zeros((3, 3), dtype=int), columns=['A', 'B', 'C'])
print(df)
補足:既存のDataFrameに0を埋めたい場合
欠損値(NaN)を0で埋めるときは以下のようにします。
df.fillna(0, inplace=True)
print(df)
まとめ
目的 | 方法 |
---|---|
空のDataFrame | pd.DataFrame() |
行列を指定して0で埋める | pd.DataFrame(np.zeros((rows, cols))) |
列名とインデックス付きで0埋め | pd.DataFrame(0, index=..., columns=...) |
欠損値を0で埋める | df.fillna(0) |
以上、PythonのPandasで空のDataFrameを0埋めする方法についてでした。
最後までお読みいただき、ありがとうございました。