一尘不染

如果列 a == 值,则删除列 b 等于的行

python

我试图在我的 df 中删除 SPCD == 104 的行,删除 Age >= 950 的行,由于某种原因,我终生无法弄清楚如何去做。

dropped_ages = d_age[ (d_age['SPCD'] == 104) & (d_age['Age'] >= 950) ]

这是我尝试过的一行代码,但它最终删除了 SPCD 104 的每个条目。我用 <= 和 >= 尝试过,结果相同。

所以最初的 df 可能看起来像:

    SPCD   Age
0   104    1100
1   104    300
2   104    950
3   133    200
4   104    400
5   133    100
6   104    1000

我想看到的是:

    SPCD   Age
0   104    300
1   104    950
2   133    200
3   104    400
4   133    100

阅读 91

收藏
2022-06-12

共1个答案

一尘不染

否定你的条件:

d_age[(d_age["SPCD"] != 104) | (d_age["Age"] < 950)]

这输出:

   SPCD  Age
1   104  300
3   133  200
4   104  400
5   133  100
2022-06-12