我有三列A,B和C的数据集
*
A B C
1 2 3
1 3 4
1 4 5
1 2 6
2 1 9
2 9 8
2 8 2
2 1 2
我需要获取对应于按A列分组的最小B值的A,B,C列的值。
如您所见,我有A {1,2} B和A {2,1} B的重复值。如果我执行以下命令:
dataset ['A,'B','C']。loc [dataset.groupby('A')。B.idxmin()]
我只得到A,B,C的第一个值B.但是如何获取所有行?\
Output:
A B C
1 2 3
2 1 9
Output expected:
A B C
1 2 3
1 2 6
2 1 9
2 1 2
使用GroupBy.transform
和比较柱B
在boolean indexing
:
df = dataset[dataset.groupby('A').B.transform('min').eq(dataset['B'])]
print (df)
A B C
0 1 2 3
3 1 2 6
4 2 1 9
7 2 1 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句