首页 > 解决方案 > 为什么 df.drop 不删除列?

问题描述

我试图找出为什么 df.drop() 没有按预期工作。当我使用不存在的列标题运行 df.drop 时,它会引发错误。这运行不会导致任何错误,我已经复制粘贴了列的标题,所以我确定它是正确的标题。

也许我误解了它的工作原理,但我希望 df.drop() 删除该列,以便只保留索引和其他 2 列。

print(old_df.head(3))
print(old_df.keys())
old_df.drop('Unnamed: 0',axis=1)
print(old_df.head(3))



   Unnamed: 0           Timestamps                            Bodies
0           0  2020-04-21 01:19:09                           Body1
1           1  2020-04-21 01:19:30                           Body2
2           2  2020-04-21 01:21:35                           Body3
Index(['Unnamed: 0', 'Timestamps', 'Bodies'], dtype='object')
   Unnamed: 0           Timestamps                            Bodies
0           0  2020-04-21 01:19:09                           Body1
1           1  2020-04-21 01:19:30                           Body2
2           2  2020-04-21 01:21:35                           Body3

标签: python-3.xpandas

解决方案


我写了这个问题,然后立即找到了答案。

print(old_df.head(3))
print(old_df.keys())
new_df = old_df.drop('Unnamed: 0',axis=1) # The original dataframe remains, but a new df will have all the original columns but not the dropped ones.
print(new_df.head(3))

推荐阅读