首页 >后端开发 >Python教程 >如何安全地从 Pandas DataFrame 中删除列?

如何安全地从 Pandas DataFrame 中删除列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-16 13:57:15366浏览

How to Safely Delete Columns from a Pandas DataFrame?

从 Pandas DataFrame 中删除列

虽然在 DataFrame 本身上使用 del 关键字 (del df.column_name) 可能看起来很直观,这不是在 Pandas 中删除列的推荐方法。可能会出现意外错误,因为 del 关键字从 DataFrame 对象中删除整个列,而不仅仅是其值。

首选方法:使用 drop() 方法

从 DataFrame 中删除列的正确方法是通过 drop() 方法。它允许精确定位和控制删除过程。一般语法为:

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

其中 1 表示列的轴编号(0 表示行)。此方法可确保仅删除指定列,而保留剩余数据不变。

替代语法:使用 columns 关键字

drop() 的替代语法是使用 columns 关键字:

df = df.drop(columns=['column_nameA', 'column_nameB'])

此方法在删除多个时特别有用

就地修改

如果您希望就地修改原始 DataFrame 而不重新分配,请使用:

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

按列号删除

按位置删除列(number) 而不是标签,请使用:

df = df.drop(df.columns[[0, 1, 3]], axis=1)  # df.columns is zero-based pd.Index

使用文本语法

与 columns 关键字类似,您也可以使用文本语法来指定要指定的列被删除:

df.drop(['column_nameA', 'column_nameB'], axis=1, inplace=True)

以上是如何安全地从 Pandas DataFrame 中删除列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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