2024-04-23 23:50:30 发布
网友
删除数据帧中的列时,我使用:
del df['column_name']
这很管用。为什么我不能用下面的?
del df.column_name
由于您可以以df.column_name的形式访问列/序列,因此我希望这可以工作。
df.column_name
在pandas中最好的方法是使用^{}:
df = df.drop('column_name', 1)
其中1是轴数(行为0,列为1)
1
0
要删除列而不必重新分配df,可以执行以下操作:
df
df.drop('column_name', axis=1, inplace=True)
最后,要按列数字而不是按列标签删除,请尝试删除第一、第二和第四列:
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)
使用:
columns = ['Col1', 'Col2', ...] df.drop(columns, inplace=True, axis=1)
这将删除一个或多个列。请注意,inplace=True是在pandas v0.13中添加的,不会在旧版本上工作。在这种情况下,您必须重新分配结果:
inplace=True
df = df.drop(columns, axis=1)
如您所料,正确的语法是
由于Python的语法限制,很难让del df.column_name简单地工作。del df[name]在Python的掩护下被翻译成df.__delitem__(name)。
del df[name]
df.__delitem__(name)
在pandas中最好的方法是使用^{} :
其中
1
是轴数(行为0
,列为1
)要删除列而不必重新分配
df
,可以执行以下操作:最后,要按列数字而不是按列标签删除,请尝试删除第一、第二和第四列:
同时使用列的“文本”语法:
使用:
这将删除一个或多个列。请注意,
inplace=True
是在pandas v0.13中添加的,不会在旧版本上工作。在这种情况下,您必须重新分配结果:如您所料,正确的语法是
由于Python的语法限制,很难让
del df.column_name
简单地工作。del df[name]
在Python的掩护下被翻译成df.__delitem__(name)
。相关问题 更多 >
编程相关推荐