2016-07-14 9 views
3

私は学生の平均スコアを計算したパンダのデータフレームを持っています。学生のスコアは以下のようにdataに格納されています。Pythonの列のインデックス値または値に基づくクエリ

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']この行は​​

私は私の方法を知っているをもたらし私が実際にはmean['score'][0]を使ってジョンの手段を見つけることができるので、それをするのはうまくいかない。

私の質問には、それぞれの名前の対応するインデックス値を見つける方法がありますか(たとえば、Johnの場合は[0]、Maryの場合は[1]、Suzieの場合は[2])?ありがとうございました!!あなたが行うことができます

答えて

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

私はそれが好きです!... +1 – bernie

+0

ありがとうございます! – achimneyswallow

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 
+0

ありがとうございました。この答えはまた、正確かつエレガントです。 – achimneyswallow

+0

乾杯!ハッピーコーディング:-) – bernie

関連する問題