我有一个DataFrame
,看起来像这样:
name value
date
2016-05-01 kelly 20
2016-05-05 john 12
2016-05-05 sarah 25
2016-05-05 george 3
2016-05-05 tom 40
2016-05-07 kara 24
2016-05-07 jane 90
2016-05-07 sally 39
2016-05-07 sam 28
我想得到前3行(根据价值)最好每个日期。 我在期待这样的事情:
^{pr2}$但我也同意:
name value
date
2016-05-05 tom 40
2016-05-07 jane 90
2016-05-07 sally 39
我试过df.nlargest(3, 'value')
但是我得到了一个奇怪的结果:
name value
date
2016-05-01 kelly 20
2016-05-01 kelly 20
2016-05-01 kelly 20
2016-05-05 tom 40
2016-05-05 tom 40
2016-05-05 tom 40
2016-05-05 sarah 25
2016-05-05 sarah 25
2016-05-05 sarah 25
2016-05-07 kara 24
2016-05-07 kara 24
...
2016-05-07 sally 39
2016-05-07 sally 39
2016-05-07 jane 90
2016-05-07 jane 90
2016-05-07 jane 90
我试着一天一天地运行它:[df.ix[day].nlargest(3, 'value') for day in df.index.unique()]
但我遇到了同样的问题(每个名字重复3次)
使用^{} 结果的^{} 切片
在descending mode中使用^{} ,然后使用first ^{} results in a slice ,然后使用{a6}来保留monotonically increasing。在
^{pr2}$
首先,这将完成任务:
相关问题 更多 >
编程相关推荐