2016-07-30 17 views
1

Pythonを使用して特定のカテゴリの平均を計算する方法を知りましたか?私はCategory 2に対応する合計の平均を見つけることに興味があるPythonを使用して特定のカテゴリの平均を取得する方法

Category Totals estimates 
2 2777 0.43 
4 1003 0.26 
4 3473 0.65 
4 2638 0.17 
1 2855 0.74 
0 2196 0.13 
0 2630 0.91 
2 2714 0.39 
3 2472 0.51 
0 1090 0.12 

:私はCategoryTotalsコラムです興味のdemo.csv

import pandas as pd 
import numpy as np 

#loading the data into data frame 
X = pd.read_csv('demo.csv') 

2列と呼ばれるCSVファイルを持っています私はエクセルでこれを行う方法を知っています。カテゴリー2のみを表示して平均値を取得するだけです(これは2745.5になります)。しかし、これをPythonでどのようにコーディングしますか?

+0

sum(x [1])/ len(x [1])? x [1]リスト/タプルかsthのようになりますか? –

答えて

3

あなたは次のようTotals列に対応する列の平均とることで、その後、あなたがしたい行(Category=2)のサブセットにあなたのデータフレームを制限することができます。私は見つけることに興味

df[df['Category'] == 2]['Totals'].mean() 
2745.5 
+1

ああ、私は参照してください!ありがとうございました!!!! – M3105

+1

私はインデクサーを使っています(それはもっと良く見えます): 'df.ix [df ['Category'] == 2、 'Totals']。 – MaxU

1

をあなたはインデックスとしてカテゴリを設定することカテゴリー2

に対応する合計の平均は、その後.locまたはを使用して、任意のカテゴリの平均値を計算します10のインデクサ:

df.set_index('Category').loc['2', 'Totals'].mean() 
=> 2745.50 

df.set_index('Category').ix['2', 'Totals'].mean() 
=> 2745.50 

同様に、私はCategoryが文字列であると仮定していgroupby

df.groupby('Category').Totals.mean().loc['2'] 
=> 2745.50 

注を使用することによって達成することができます。

関連する問題