熊猫数据框:保留重复的行

Lou*_*Fan 3 python duplicates python-3.x pandas

这个问题比根据条件删除熊猫数据框中的重复行稍微复杂一些:

现在,我不再有一个“值”列,而是有两个列“值1”,“值2”:

         t    valu1    valu2
2015-08-01        1       10
2015-08-01        2       11
2015-08-01        3       12
2015-09-31        4       15
2015-10-31        5       13
Run Code Online (Sandbox Code Playgroud)

在上面的数据框中,我想't'通过保留列中较高的值和valu1列中较低的值的行来删除重复的行(即重复列的行)value2

预期结果:

         t    valu1    valu2
2015-08-01        3       10
2015-09-31        4       15
2015-10-31        5       13
Run Code Online (Sandbox Code Playgroud)

链接问题中提到的df.sort_values()drop_duplicateskeep='last'显然不起作用。

我现在能想到的是:

         t    valu1    valu2
2015-08-01        1       10
2015-08-01        2       11
2015-08-01        3       12
2015-09-31        4       15
2015-10-31        5       13
Run Code Online (Sandbox Code Playgroud)

我认为这应该可行,但实际上似乎并不复杂,尤其是对于大型数据集,我实际上需要这样做。关于如何解决这个问题有任何想法吗?

WeN*_*Ben 5

我想你在找

df.groupby('t').agg({'valu1':'max','valu2':'min'}).reset_index()
            t  valu1  valu2
0  2015-08-01      3     10
1  2015-09-31      4     15
2  2015-10-31      5     13
Run Code Online (Sandbox Code Playgroud)