Python 基于一个特定值删除重复项
我有一个dataframe,其中我试图基于子集删除重复项,但仅针对特定值 我有以下数据帧:Python 基于一个特定值删除重复项,python,pandas,Python,Pandas,我有一个dataframe,其中我试图基于子集删除重复项,但仅针对特定值 我有以下数据帧: Date Name Task Hours 2019-09-26 John Smith A 24 2019-09-26 Bruce Pitt A 24 2019-09-27 John Smith A 12 2019-09-27 John Smith B 12 2019-09-28 Emma Garc
Date Name Task Hours
2019-09-26 John Smith A 24
2019-09-26 Bruce Pitt A 24
2019-09-27 John Smith A 12
2019-09-27 John Smith B 12
2019-09-28 Emma Garcia A 24
2019-09-28 Emma Garcia E 24
我想根据日期
、名称
和小时数
删除重复的行,但仅限于小时数=24
我知道如何删除重复项,但我不知道如何在此行中添加此特定条件值:
df1.drop_duplicates(subset=['Date', 'Name','Hours'],keep='first', inplace=True)
预期产出:
Date Name Task Hours
2019-09-26 John Smith A 24
2019-09-26 Bruce Pitt A 24
2019-09-27 John Smith A 12
2019-09-27 John Smith B 12
2019-09-28 Emma Garcia A 24
这是重复的
df[~(df.duplicated(['Date','Name','Hours']) & df.Hours.eq(24))]
Out[53]:
Date Name Task Hours
0 2019-09-26 JohnSmith A 24
1 2019-09-26 BrucePitt A 24
2 2019-09-27 JohnSmith A 12
3 2019-09-27 JohnSmith B 12
4 2019-09-28 EmmaGarcia A 24