在Pandas的数据框中找到前10名

时间:2017-05-09 00:59:24

标签: python pandas

我有一个大约800行的数据帧(df),其数据如下:

名称:杰森
年龄:45岁 门票:1

名称:金
年龄:30岁 门票:0

1 =有票 0 =没有票

(抱歉,格式不是很好。数据框中基本上是3列:名称,年龄和票证)

使用Pandas,我想知道找到有票的十大最老的人的语法是什么

到目前为止,我有:

df.sort_values('Age',ascending=False,inplace=True)(data.Ticket==1)
(data.head(10))

我知道这不正确,但它显示了我正在寻找的参数。有任何想法吗?感谢

3 个答案:

答案 0 :(得分:7)

如果你只想要老人的名字,那么

df[df['Ticket'] == 1].sort_values('Age')['Names'].head(10)

答案 1 :(得分:4)

面具,排序,头

df[df.Ticket == 1].sort_values('Age').head(10)

答案 2 :(得分:1)

执行此操作的常见方法之一是使用 nlargest方法

df[df.Ticket == 1].nlargest(10, 'Age')['Names']

这样,您无需进行显式排序