python - 在 python 中过滤具有特定列名的 Pandas 数据框

标签 python pandas dataframe

我有一个 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/

相关文章:

python - Python : Making a Magic 8 Ball game, why do i keep getting syntax errors? Here's the code, test it if you want

python - 添加不同大小的 pandas DataFrame 的值

r - 如何从数据框中的字符串中提取数字并将其放入新列中?

python-3.x - 根据条件删除 dask dataFrame 中的行

python - 创建 AWS KMS key 时出现 MalformedPolicyDocumentException

python - 任务集-python

python - 合并某些行不相同的多个数据框

python - groupby中的pandas聚合函数-默认选项?

python - 在 Windows 上安装 lightgbm

python - 减去 TimeDate 列