用python中的特定列名过滤pandas数据框 [英] Filter pandas dataframe with specific column names in python

查看:111
本文介绍了用python中的特定列名过滤pandas数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个熊猫数据框和一个列表,如下所示

I have a pandas dataframe and a list as follows

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文件.

Now, I want to get only the columns mentioned in mylist and save it as a csv file.

     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)

在我看来,我的新数据框产生了错误的结果.我在哪里弄错了?请帮帮我!

It seems to me that my new dataframe produces wrong results.Where I am making it wrong? Please help me!

推荐答案

只需将列名称列表传递给索引df:

Just pass a list of column names to index 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中的特定列名过滤pandas数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆