Python 如果存在重复项,则主键取正值
我有一个数据帧Python 如果存在重复项,则主键取正值,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个数据帧df Key1 Key2 Value K11 K21 V1 K11 K21 -V1 K13 K23 V2 K13 K23 -V2 例如,对于相同的键K11,K21组合,我们有两个值,一个负值,一个正值。如何仅从此df中获取正值 预期产量 Key1 Key2 Value K11 K21 V1 K13 K23 V2 请注意,对于my df,两个键一起是主键(键1
df
Key1 Key2 Value
K11 K21 V1
K11 K21 -V1
K13 K23 V2
K13 K23 -V2
例如,对于相同的键K11,K21组合,我们有两个值,一个负值,一个正值。如何仅从此df中获取正值
预期产量
Key1 Key2 Value
K11 K21 V1
K13 K23 V2
请注意,对于my df,两个键一起是主键(键1和键2的组合必须是唯一的)。它不只是
用排序值删除重复项吗
df.sort_values('Value').drop_duplicates(['Key1','Key2'], keep='last')
或者你也可以做一个groupby
df.groupby(['Key1','Key2'], as_index=False).max()
如果我们有超过1列的val,并且只需要max of value列,该怎么办。假设我们有额外的列Value1
,Value2
,Value3
,我们希望保留value
列的正值