我有一个 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)
在我看来,我的新数据框产生了错误的结果。我在哪里做错了?请帮助我!
最佳答案
只需将列名列表传递给索引 df
:
df[['nnn', 'mmm', 'yyy']]
nnn mmm yyy
0 5 5 10
1 3 4 9
2 7 0 8
如果您需要处理列表中不存在的列名,请尝试使用 df.columns.isin
进行过滤 -
df.loc[:, df.columns.isin(['nnn', 'mmm', 'yyy', 'zzzzzz'])]
yyy nnn mmm
0 10 5 5
1 9 3 4
2 8 7 0
关于python - 在 python 中过滤具有特定列名的 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48198021/