我有一个数据框
'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
答案 0 :(得分:5)
使用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