删除 DataFrame 中的列时,我使用:
del df['column_name']
这很好用。为什么我不能使用以下内容?
del df.column_name
由于可以将列/系列访问为df.column_name,因此我希望这可以工作。
df.column_name
在 Pandas 中执行此操作的最佳方法是使用drop:
drop
df = df.drop('column_name', 1)
其中1是轴号(0对于行和1列。)
1
0
要删除列而无需重新分配df,您可以执行以下操作:
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)