根据条件删除pandas中的值

问题描述 投票:0回答:1

在 pandas 数据框中,我想删除具有重复员工 ID 的行,但要根据工资为空的条件

我的原始数据是

  EEID      Name gender   salary
0  EMP01    ayushi      F      NaN
1  EMP02     rohit      M  25000.0
2  EMP03  pranjali    NaN  27000.0
3  EMP01    ayushi      F  20000.0
4  EMP05       NaN      M  25000.0
5  EMP06     rohit      M      NaN
6  EMP02     rohit      M  25000.0

现在我想删除行号 0 因为我们在第 3 行有相同的 eeid 。 我运行了这个命令,但它保留了第一行并删除了第二行。

print(data.drop_duplicates(subset=["EEID"]))

我得到这个结果

    EEID      Name gender   salary
0  EMP01    ayushi      F      NaN
1  EMP02     rohit      M  25000.0
2  EMP03  pranjali    NaN  27000.0
4  EMP05       NaN      M  25000.0
5  EMP06     rohit      M      NaN

但实际上我必须删除第 0 行并保留第三行

python pandas dataframe conditional-statements drop-duplicates
1个回答
0
投票

drop_duplicates
默认保留子集中的第一行。您可以明确告诉它保留最后一个:

print(data.drop_duplicates(subset=["EEID"], keep="last"))
© www.soinside.com 2019 - 2024. All rights reserved.