首页 >后端开发 >Python教程 >为什么'del df.column_name”无法删除 Pandas DataFrame 列?

为什么'del df.column_name”无法删除 Pandas DataFrame 列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-11 01:15:09302浏览

Why Doesn't `del df.column_name` Work for Deleting Pandas DataFrame Columns?

从 Pandas DataFrame 中删除列:del 与 drop()

在 Pandas 中,从 DataFrame 中删除列看起来很简单。但是,为什么语法 del df.column_name 没有按预期工作?

虽然可以通过 df.column_name 访问 Series,但尝试使用 del df.column_name 删除列会失败。删除列的正确方法是通过 drop() 函数。

要使用 drop() 删除列,请指定列名称并将轴参数设置为 1(对于列)。或者,使用 columns 关键字指定要删除的列。例如:

df = df.drop('column_name', axis=1)  # Old syntax
df = df.drop(columns='column_name')  # New syntax

要执行列删除而不重新分配 DataFrame,请使用 inplace=True,如下所示:

df.drop('column_name', axis=1, inplace=True)

此外,可以使用 axis=1 按数字删除列参数并索引 df.columns 对象。要删除第 1、2 和 4 列(从零开始的索引),请执行以下操作:

df.columns[[0, 1, 3]]  # Select columns to drop
df = df.drop(df.columns[[0, 1, 3]], axis=1)

以上是为什么'del df.column_name”无法删除 Pandas DataFrame 列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn