Python 正在获取“pandas.DataFrame”中列总数最大的前3行?
这是我的熊猫。数据框:Python 正在获取“pandas.DataFrame”中列总数最大的前3行?,python,pandas,dataframe,Python,Pandas,Dataframe,这是我的熊猫。数据框: day1 day2 day3 Apple 40 13 98 Orange 32 45 56 Banana 56 76 87 Pineapple 12 19 12 Grape 89 45 67 我想创建一个新的DataFrame,它将包含三天内最多的前三个水果 苹果三天之和--151,橘子--133,香蕉--219,菠萝--43,葡萄--20
day1 day2 day3
Apple 40 13 98
Orange 32 45 56
Banana 56 76 87
Pineapple 12 19 12
Grape 89 45 67
我想创建一个新的DataFrame
,它将包含三天内最多的前三个水果
苹果三天之和--151
,橘子
--133
,香蕉
--219
,菠萝
--43
,葡萄
--201
所以排名前三的水果是:1)香蕉;2) 葡萄;3)
apple
以下是预期的输出:
day1 day2 day3
Banana 56 76 87
Grape 89 45 67
Apple 40 13 98
如何使用pandas.DataFrame
?
谢谢大家! 以下是按总和计算前3天指数的方法:
In [1]: df.sum(axis=1).order(ascending=False).head(3)
Out[1]:
Banana 219
Grape 201
Apple 151
您可以使用该索引引用原始数据集:
In [2]: idx = df.sum(axis=1).order(ascending=False).head(3).index
In [3]: df.ix[idx]
Out[3]:
day1 day2 day3
Banana 56 76 87
Grape 89 45 67
Apple 40 13 98
[编辑]
order()
现在已不推荐使用<代码>排序值()可在此处使用
df.sum(axis=1).sort_values(ascending=False).head(3)
注意:这不会处理索引中的重复标签,但在我看来,这样做不太优雅。注意0.14中的NLAGEST存在一个问题。order()现在已不推荐使用,因此pandas将打印警告。另一种方法是使用sort_值,该值可以安全地在该用例中替换。