【问题标题】:Pandas select columns using list but ignore missing column names [duplicate]Pandas 使用列表选择列,但忽略缺少的列名 [重复]
【发布时间】:2020-08-01 23:30:05
【问题描述】:

我有一个数据框

    'A'   'B'   'C'   'X'   ,'Y'    ,  'Z'
0   
1
2
3
4
5

还有一个列表l=[A,B,C,D,E,F]

我想使用该列表来选择列表中的列,但忽略未出现的列。

所以预期的输出是

  'A'   'B'   'C'  
0   
1
2
3
4
5

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

使用DataFrame.loc 选择: 创建的所有行和Index.isin 创建的掩码列:

df = df.loc[:, df.columns.isin(l)]

或者通过Index.intersection获取列名:

df = df[df.columns.intersection(l)]

print (df)
    A   B   C
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN

【讨论】:

  • 完美,谢谢:)
猜你喜欢
  • 2018-10-25
  • 1970-01-01
  • 2012-06-06
  • 2019-09-18
  • 1970-01-01
  • 2020-10-22
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多