Pandas DataFrames の列の削除
del df['column_name'] を使用すると列が正常に削除されますが、del df.column_name を使用しようとします。失敗。この矛盾が存在する理由を理解するには、Pandas の基礎となるデータ構造を調べる必要があります。
Pandas のデータ構造
Pandas DataFrame は、インデックス (行ラベル)とラベル付き列。 df.column_name を使用して列にアクセスすると、実際の列オブジェクト自体ではなく、その列に関連付けられたシリーズのみが取得されます。したがって、del df.column_name は DataFrame から列を削除しません。
推奨される削除方法
DataFrame から列を削除するには、推奨される方法は次のとおりです。落とす()。このメソッドにより、軸 (行または列) を正確に制御でき、列ラベルとインデックスの両方がサポートされます。
df = df.drop('column_name', axis=1) # Use column label df = df.drop(df.columns[[0, 1, 3]], axis=1) # Use column indexes
再割り当てせずに列を削除するには、inplace=True を使用します。
df.drop('column_name', axis=1, inplace=True)
代替構文
drop() メソッドは、次のテキスト構文もサポートしています。削除する列を指定します。
df.drop(['column_nameA', 'column_nameB'], axis=1, inplace=True)
これらの推奨方法を利用すると、Pandas DataFrame から列を明確かつ正確に効果的に削除できます。
以上が`del df.column_name` が Pandas DataFrame の列の削除に失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。