我有一个熊猫数据框,我从中计算出学生的平均分数。学生成绩存储在data
中,如下所示:
name score
0 John 90
1 Mary 87
2 John 100
3 Suzie 90
4 Mary 88
使用meanscore = data.groupby("name").mean()
我知道了
score
name
John 95
Mary 87.5
Suzie 90
我想查询,例如meanscore['score'][meanscore['name'] == 'John']
此行生成KeyError: 'name'
我知道我这样做的方式并不好,因为我实际上可以通过mean['score'][0]
找出John的均值核心。
我的问题是:有没有办法在我的查询中找到每个名称的相应索引值(例如,John为[0],Mary为[1],Suzie为[2])?谢谢!!
答案 0 :(得分:4)
您可以使用loc
:
In [11]: meanscore
Out[11]:
score
name
John 95.0
Mary 87.5
Suzie 90.0
In [12]: meanscore.loc["John", "score"]
Out[12]: 95.0
答案 1 :(得分:3)
你可以这样做:
meanscore['score']['John']
示例:
>>> df name score 0 John 90 1 Mary 87 2 John 100 3 Suzie 90 4 Mary 88 >>> meanscore = df.groupby('name').mean() >>> meanscore score name John 95.0 Mary 87.5 Suzie 90.0 >>> meanscore['score']['John'] 95.0