删除除python中列表中的值之外的数据框中的其他行

时间:2018-03-15 18:03:24

标签: python pandas numpy dataframe

我有一个包含许多变量的数据框Input以及一个列表k,其中有许多值是数据框变量的名称。我试图在列表中包含唯一的值并创建单独的数据框。

k = [IN_15M, IN_9M, IN_6M]`

输入:

ID  OUT_3M  OUT_6M  OUT_9M  OUT_15M  IN_3M  IN_6M   IN_9M   IN_15M
A   2        3        4        6        2     3       4       6
B   3        3        5        7        3     3       5       7
C   2        3        6        6        2     3       6       6
D   3        3        7        7        3     3       7       7

输出:

ID  OUT_3M  OUT_6M  OUT_9M  OUT_15M  IN_3M  
A   2        3        4        6        2  
B   3        3        5        7        3  
C   2        3        6        6        2        
D   3        3        7        7        3     

我尝试了以下代码并收到错误消息。任何人都可以帮我解决这个问题

error
`Output= Input[K]

1 个答案:

答案 0 :(得分:1)

使用isin

k = ['IN_15M', 'IN_9M', 'IN_6M']
df.loc[:,~df.columns.isin(k)]
Out[122]: 
  ID  OUT_3M  OUT_6M  OUT_9M  OUT_15M  IN_3M
0  A       2       3       4        6      2
1  B       3       3       5        7      3
2  C       2       3       6        6      2
3  D       3       3       7        7      3