我试图用熊猫来分析一个数据帧。我的问题类似于:
How to get rows with min values in one column, grouped by other column, while keeping other columns?
除了这个问题(这在我的例子中非常重要),如果分组列有多个最小值,我还需要找到其他列的最小值。如果没有,我需要查看相应的值。
下面是一个基本的例子;
df = pd.DataFrame({'id' : [1,1,1,2,2],
'A' : [8,6,6,8,9],
'B' : [1,2,4,5,4]})
当此数据帧按“id”分组并按我的要求聚合(首先在“A”上,然后在“B”上)时,以下是我希望看到的输出:
id A B
1 6 2
2 8 5
注意,当id为1时,有多个行的列“A”的最小值为。对应的“B”列值为2和4。因此,它们中的min作为“B”列的结果返回。
我不知道R,所以,我不明白从上面的链接的答案。无论如何,这是它的另一个版本。
最佳答案
IIUC,按idxmin
排序后使用B
df.loc[df.sort_values('B').groupby('id')['A'].idxmin()]
id A B
1 1 6 2
3 2 8 5
关于python - 当A上存在重复值时,如何在A列上找到分组数据的最小值,而在另一列B上找到最小值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56517511/