2017-11-05 6 views
0
Give a 95% confidence interval for the average rating for male reviewers, and do the same for female 
##reviewers. 


group2 = bigdataframe[['rating']].groupby(bigdataframe['gender']) 
group2.count() 
FN = 25740 
MN = 74260 

group2.mean() 
F =  3.531507 
M =  3.529289 

group2.std() 
FS = 1.170951 
MS = 1.109556 

F - 1.96(FS/(np.sqrt(NF))) 
F + 1.96(FS/(np.sqrt(NF))) 

M - 1.96(MS/(np.sqrt(NM))) 
M + 1.96(MS/(np.sqrt(NM))) 


My error: 'float' object is not callable 

まず、groupbyを使用して各性別に基づいてレビューを数えました。それから平均/標準関数を使って数式に必要な数を得ることができました。どんな助けも非常に高く評価されるでしょう!男性/女性をデータフレーム列から分離して95%信頼区間を見つける方法は?

+0

@jezrael – Yungpythonnoob

答えて

1

aggを使用してこのような機能を使用すると、アプリケーションに適していない可能性があります。集計するカスタム関数を記述することもできます。しかしここでは、信頼区間の上限値を作成します。 agrgegate結果の列を参照するときは、タプルを使用する必要があります。私の小さなサンプルサイズが正当な仮定に違反していることに対する謝罪)!

import numpy as np 
import pandas as pd 
sx = np.array(['M','M','M','F','F','F']) 
val = np.random.normal(0,1,6) 
df = pd.DataFrame({'sex':sx, 'value':val}) 
gp = df.groupby('sex') 
result = gp.agg(['mean','std','count']) 
result[('value','upper_ci')] = result[('value', 'mean')] + 1.96*np.divide(result[('value','std')], np.sqrt(result[('value','count')])) 
関連する問題