在pandas中获取nlargest不同的值

时间:2018-06-05 18:37:17

标签: pandas

我正试图从df获得前3个不同的值,在这种情况下,大熊猫不会起作用 以下是我的样本df

enter image description here

预期的O / p:
enter image description here

非常感谢任何帮助,谢谢

3 个答案:

答案 0 :(得分:1)

sort_values然后drop_duplicates我们得到尾巴3行。

df.sort_values('col2').drop_duplicates('col1',keep='last').tail(3)

答案 1 :(得分:0)

你需要:

df.sort_values('val', ascending=False).drop_duplicates('col').head(3).sort_values('col')

输出:

   col  val
0   A   50
2   B   32
3   C   41

答案 2 :(得分:0)

nlargest 会起作用:

df[['col1','col2' ]].drop_duplicates(keep='last').nlargest(10, 'col2')