Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果存在重复项,则主键取正值_Python_Python 3.x_Pandas - Fatal编程技术网

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
列的正值