こんにちは。カルークです。
今回は Pandasを使って、カラム名のみ定義された空のデータフレームの作成方法について纏めます。
実行環境
import pandas as pd
pd.__version__
# output: '1.2.3'
pandasのバージョンは、1.2.3です。
空のDataFrameを作成する
まずは空のデータフレームの作り方です。
# 空のDataFrame作成
df = pd.DataFrame()
# 出力
df.head()
pd.DataFrameに何も引数を入れずに実行すれば空のデータフレームが作られます。
出力は、空なので何もないです。
カラムだけ設定して、空のDataFrameを作成する
カラム名指定はcolumnsのパラメータにlistで定義されたカラム名を渡すことで実現できます。
# カラム名を定義
cols = ["A", "B", "C"]
# dataframeの作成
df = pd.DataFrame(columns=cols)
# 出力
df.head()
カラムだけが入った中身が空のデータフレームが出来ました。
注意:古いバージョンのPandasだと AttributeError になる
同じコードを古いバージョンのPandasで実行しようとするとエラーになりました。
今回はPandas 1.0.1で同じコードを実行してみました。
# カラム名を定義
cols = ["A", "B", "C"]
# dataframeの作成
df = pd.DataFrame(columns=cols)
AttributeError: type object 'object' has no attribute 'dtype'
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_11336/3502814139.py in <module>
----> 1 df = pd.DataFrame(columns=cols)
(以下、省略)
こちらのサイトによると、参照するNumpyとの整合性の問題でエラーになっているようです。
pandasをlatestにアップデートすれば解決できますが、何らかの理由でアップデートが出来ない場合の解決策として、dtype=objectを指定すれば良いようです。
# カラム名を定義
cols = ["A", "B", "C"]
# dataframeの作成
df = pd.DataFrame(columns=cols, dtype=object)
まとめ
今回は、Pandasでカラム名のみ定義された空のデータフレームの作成方法について紹介しました。また、Pandasのバージョンが古い場合の対処方法についても紹介しました。