【发布时间】:2019-06-28 17:31:00
【问题描述】:
我无法使用 pandas 从csv 中删除列。我尝试使用不同的轴、del 函数以多种方式删除它,但它不起作用。有人知道为什么吗?
这是我的 pandas.head()
年龄;“工作”;“婚姻”;“教育”;“默认”;“余额”;“住房”;“贷款”;“联系人”;“日”;“月”;“持续时间”;”活动";"pdays";"以前的";"poutcome";"y" 0 58;“管理”;“已婚”;“大专”;“没有”;2143...
1 44;“技师”;“单身”;“中学”;“无”;29;“...
2 33;“企业家”;“已婚”;“中学”;“没有”;2...
3 47;“蓝领”;“已婚”;“未知”;“否”;1506...
4 33;“未知”;“单个”;“未知”;“否”;1;“否”;“n...
这是我的代码:
import pandas
df = pd.read_csv('bank-full.csv')
print(df.head())
df = df.drop(['day', 'poutcome'], axis=1)
这是错误:
Traceback(最近一次调用最后一次):
文件“/home/administrator/PycharmProjects/BankMarketinData/main.py”,第 21 行,在
主要的()
文件“/home/administrator/PycharmProjects/BankMarketinData/main.py”,第 19 行,在 main
df = df.drop(['day', 'poutcome'], axis=1)
文件“/home/administrator/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py”,第 3697 行,放入
错误=错误)
文件“/home/administrator/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py”,第 3111 行,在 drop
obj = obj._drop_axis(标签,轴,级别=级别,错误=错误)
_drop_axis 中的文件“/home/administrator/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py”,第 3143 行
new_axis = axis.drop(标签,错误=错误)
文件“/home/administrator/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py”,第 4404 行,放入
'{} 在轴中找不到'.format(labels[mask]))
KeyError: "['day' 'poutcome'] 在轴上找不到"
【问题讨论】:
-
我认为您的列标题中有引号。试试
df.columns = df.columns.str.strip('\"') -
请显示 df.head().to_dict() 也许你有空格?
-
在下面发布答案。在示例数据帧上对其进行了测试
-
我的猜测是你的列标签被引用了,例如,
"day"
标签: python pandas csv delimiter