1. ホーム
  2. python

[解決済み] pandas DataFrameに複数の空の列を追加する

2023-01-08 15:23:29

質問

複数の空のカラムを DataFrame に追加するにはどうしたらよいですか?

できます。

    df["B"] = None
    df["C"] = None
    df["D"] = None

でも、できないんです。

    df[["B", "C", "D"]] = None

KeyError: "['B' 'C' 'D'] not in index"

どのように解決するのですか?

私は concat をDataFrameを使っています。

In [23]:
df = pd.DataFrame(columns=['A'])
df

Out[23]:
Empty DataFrame
Columns: [A]
Index: []

In [24]:    
pd.concat([df,pd.DataFrame(columns=list('BCD'))])

Out[24]:
Empty DataFrame
Columns: [A, B, C, D]
Index: []

つまり、元のdfと追加したいカラムを含む新しいdfをリストに渡すことで、追加されたカラムを含む新しいdfが返されます。


警告: パフォーマンスの議論は、他の 回答 やコメント欄の議論を参照してください。 reindex は、パフォーマンスが重要である場合、望ましいかもしれません。