Pandasでカラム名のみ定義された空のデータフレームの作成方法

pandas_logo pandas
スポンサーリンク

こんにちは。カルークです。

今回は 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のバージョンが古い場合の対処方法についても紹介しました。

タイトルとURLをコピーしました