gpt4 book ai didi

Python Pandas : How to drop the *correct* duplicate row?

转载 作者:行者123 更新时间:2023-12-01 03:20:42 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框,如下所示:

ID, Customer, Status,  Score, Size
01, Cust-A, NaN, 100, A
01, Cust-A, Valid, 100, A
02, Cust-B, Invalid, 80, B
02, Cust-B, Invalid, NaN, B
03, Cust-C, Valid, 95, C
04, Cust-D, Invalid, 76, NaN
04, Cust-D, NaN, 76, NaN
...

等等。

如何删除正确行?

如果是 ID-01,我想删除第一行;如果是 ID-04,我想删除 ID-02 的第二行;如果是 ID-04,我想保留第一行,因为它的行数较少NaN

最佳答案

一种选择是计算每个 ID 的缺失值总数,提取最小缺失值的索引(使用 idxmin())并使用该索引对原始数据框进行子集化:

df.loc[df.groupby('ID', as_index=False).apply(lambda g: g.isnull().sum(axis=1).idxmin())]

# ID Customer Status Score Size
#1 1 Cust-A Valid 100.0 A
#2 2 Cust-B Invalid 80.0 B
#4 3 Cust-C Valid 95.0 C
#5 4 Cust-D Invalid 76.0 NaN

关于Python Pandas : How to drop the *correct* duplicate row?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com