我正在尝试从无标题的.tsv文件中删除两列
df_train = pd.read_csv("train_sample.tsv", sep="\t", header=None)
df_train = df_train[['0', '3']]
df_train.head()
但是,这给了我错误:
KeyError: "None of [Index(['0', '3'], dtype='object')] are in the [columns]"
在某些类似情况下,问题是列名中有多余的空格或制表符,但不幸的是,当我尝试
for col in df_train.columns:
print(col)
似乎没有多余的字符。
此外,当我尝试其他技巧时,结果发现列名的类型为int而不是str。但是,当我尝试通过int选择列时,我只会遇到一些索引错误。
编辑:索引错误是由错字引起的,因此一切正常。可能应该删除此问题,因为df_train = df_train[['0', '3']]
实际上按预期工作,但是在我的情况下,由于拼写错误导致索引错误似乎很相关。
答案 0 :(得分:1)
由于header=None
存在整数列,因此请使用[0, 3]
代替['0', '3']
:
df_train = df_train[[0, 3]]