首页 >后端开发 >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