使用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