我有一个pandas数据框和以下列表:
mylist = ['nnn', 'mmm', 'yyy']
mydata =
xxx yyy zzz nnn ddd mmm
0 0 10 5 5 5 5
1 1 9 2 3 4 4
2 2 8 8 7 9 0
现在,我想只获取mylist
中提到的列,并将其保存为csv文件。
即:
yyy nnn mmm
0 10 5 5
1 9 3 4
2 8 7 0
我当前的代码如下。
mydata = pd.read_csv( input_file, header=0)
for item in mylist:
mydata_new = mydata[item]
print(mydata_new)
mydata_new.to_csv(file_name)
我觉得我的新数据框产生了错误的结果。我做错了什么?请帮帮我!
mylist
里有些列名实际上不在我的数据框中。所以我会得到这样的错误:KeyError:“['recipe' 'food' 'calories' ..., ] not in index"
。有没有办法避免这种情况? - J Cenadf.filter
函数提供了比此处提出的.loc[:, df.columns.isin()]
语法更清晰和更短的语法。有关更多详细信息,请参见下面的我的答案。 - Zoltán