求有微分的组中的最大值

我有一个如下所示的 Pandas DataFrame:

索引 ID value_1 value_2
0 1 200 126
1 1 200 127
2 1 200 128.1
3 1 200 125.7
4 2 300.1 85
5 2 289.4 0
6 2 0 76.9
7 2 199.7 0

我的目标是找到每个 ID 组(在本例中为 1,2)中的所有行,这些行具有 value_1 列的最大值。第二个条件是,如果每组有多个最大值,则取value_2列中值最大的那一行。

所以目标表应该是这样的:

索引 ID value_1 value_2
0 1 200 128.1
1 2 300.1 85
ct47308040 回答:求有微分的组中的最大值

对所有 3 列使用 DataFrame.sort_values,然后使用 DataFrame.drop_duplicates

df1 = (df.sort_values(['ID','value_1','value_2'],ascending=[True,False,False])
         .drop_duplicates('ID'))
print (df1)
   ID  value_1  value_2
2   1    200.0    128.1
4   2    300.1     85.0
本文链接:https://www.f2er.com/86248.html

大家都在问