选择数据框上有条件的列

时间:2019-04-06 13:37:20

标签: python dataframe

我有一个数据框:

    GPA1PP GPB1PP C D E  GPAB12PP
0
1
2
3

现在我要选择一些列

a_test=df.loc[:,df.columns.str.contains("A")]
b_test=df.loc[:,df.columns.str.contains("B")]

1。 a_test和b_test都有“ GPAB12PP”列,但我希望它仅出现在a_test数据框中。我该怎么办?

2。

C D E列未选中。我可以使用“减号”来选择它们吗?

例如在R

c_test=df[:,-c(1,2,6)]
print(c_test)
  C D E
0
1
2
3

python是否一样?

谢谢

1 个答案:

答案 0 :(得分:2)

  1. 第一个问题,您可以使用它:

    a_test=df.loc[:,df.columns.str.startswith("A")]
    b_test=df.loc[:,df.columns.str.startswith("B")]
    
  2. 对于第二个问题,您可以使用它:

    c_test=df.loc[:,~(df.columns.str.contains('A') | df.columns.str.contains('B'))]