使用del df.column从pandas DataFrame中删除列

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

del df['column_name']

这很有用。 为什么我不能使用:

del df.column_name

正如你可以访问列/ Series作为df.column_name ,我期望这个工作。


由于Python中的语法限制,很难让del df.column_name正常工作。 del df[name]被Python翻译为df.__delitem__(name)


在熊猫做这件事的最好方法是使用drop

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

其中1是轴编号( 0表示行, 1表示列)。

要删除列而不必重新分配df你可以这样做:

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

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

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

columns = ['Col1', 'Col2', ...]
df.drop(columns, inplace=True, axis=1)

这将在原地删除一列或多列。 请注意, inplace=True是在pandas v0.13中添加的,并且不适用于旧版本,那么在这种情况下,您是否必须将结果重新分配:

df = df.drop(columns, axis=1)
链接地址: http://www.djcxy.com/p/38399.html

上一篇: Delete column from pandas DataFrame using del df.column

下一篇: Caret Training Issues in R