基于某一列的最大值选择Python数据框中的行

7
我可以帮助您翻译相关的IT技术内容。以下是需要翻译的文本:

我在Python中有一个数据框(多行,2列)。我想根据第2列中的最大值,在列1中使用唯一值修改DF(如果有用,列2按升序排序)。我可能可以编写循环,但更喜欢一种或两种解决方案。谢谢。

举例。

ID         Value
100       11
100       14
100       16
200       10
200       20
200       30
300       45
400        0
400       25

期望结果

100       16
200       30
300       45
400       25
3个回答

11

2

如果您不需要原始索引,而只需要每个ID的最高值,则可以使用groupbymax

print(df.groupby("ID").max())

     Value
ID  
100     16
200     30
300     45
400     25

0

输入数据

date = {'ID':[100,100,100,200,200,200,300,400,400],'Value':[11,14,16,10,20,30,45,0,25]}      
df= pd.DataFrame.from_dict(dane)    

例:

    ID  Value
0  100     11
1  100     14
2  100     16
3  200     10
4  200     20
5  200     30
6  300     45
7  400      0
8  400     25

以及解决方案:

df = df.groupby('ID')[['Value']].max().reset_index()

输出:

    ID  Value
0  100     16
1  200     30
2  300     45
3  400     25

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接