选择datafram上有条件的列

2024-09-24 22:23:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧:

    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\u test和b\u test都有“GPAB12PP”列,但我希望它只出现在a\u test数据帧中。我该怎么办?你知道吗

2。你知道吗

无法选择列。我可以用“减号”来选择它们吗?你知道吗

例如R

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

python是一样的吗?你知道吗

谢谢


Tags: columns数据testdflocprintcontainsstr
1条回答
网友
1楼 · 发布于 2024-09-24 22:23:59
  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'))]
    

相关问题 更多 >