首頁 >後端開發 >Python教學 >為什麼 `del df.column_name` 無法刪除 Pandas DataFrame 中的欄位?

為什麼 `del df.column_name` 無法刪除 Pandas DataFrame 中的欄位?

Barbara Streisand
Barbara Streisand原創
2024-12-13 04:57:10116瀏覽

Why Does `del df.column_name` Fail to Delete Columns in Pandas DataFrames?

刪除Pandas DataFrame 中的欄位

雖然使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn