首页 > 解决方案 > 如果在读取 csv 时使用 index_col = 0,则无法使用 pandas 删除列

问题描述

如果在使用 pd.read_csv('xyz.csv', index_col =0 ) 读取 CSV 时,设置 index_col = 0 会阻止我删除数据框中的下一列。我可以将 df.drop() 用于数据框中的其他列,但不能在使用 index_col = 0 后代替索引的列

我得到一个 KeyError,它告诉我要删除的列不存在。


import pandas as pd
import numpy as np
df = pd.read_csv('kaggle_houseprice_train.csv', index_col=0) 

# dataset from https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data

df.drop(['id'], 1, inplace = True) # does not work unless I remove index_col = 0 from the read_csv step

print(df.head())

发生的错误:

KeyError:“在轴中找不到 ['id']”

但是此列确实存在于 CSV 中!

标签: pythonpandas

解决方案


推荐阅读