从 Pandas DataFrame 中删除一列

问题描述

在 Pandas 中执行此操作的最佳方法是使用drop

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

其中1号(0对于行和1列。)

要删除列而无需重新分配df,您可以执行以下操作:

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

最后,要按列而不是按列标签删除,请尝试删除,例如第 1、第 2 和第 4 列:

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

还使用列的“文本”语法:

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

注意:v0.21.0(2017 年 10 月 27 日)中引入,drop() 方法接受 index/columns 关键字作为指定轴的替代方法。

所以我们现在可以这样做:

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

正确的语法是

del df['column_name']
del df.column_name`由于 Python 中的语法限制,很难简单地完成工作。被Python`del df[name]`翻译成秘密。`df.__delitem__(name)

解决方法

删除 DataFrame 中的列时,我使用:

del df['column_name']

这很好用。为什么我不能使用以下内容?

del df.column_name

由于可以将列/系列访问为df.column_name,因此我希望这可以工作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...