2017-06-22 158 views
0

我有一個1米行和層次索引(國家,州,城市,按此順序)的熊貓數據框與每行產品的價格觀察值。我如何計算每個國家,州和城市的平均值和標準差(標準差)(請記住我避免循環,因爲我的df很大)? 對於mean和std的每個級別,我希望將這些值保存在此數據框的新列中以供將來訪問。如何計算大熊貓人均指數的平均值

回答

1

使用groupby與參數levels來分組您的數據,然後使用meanstd。如果你想擁有你的意思是新列在您現有的數據幀,使用transform其具有相同索引返回Series作爲DF:

grouped = df.groupby(level = ['Country','State', 'City']) 
df['Mean'] = grouped['price_observation'].transform('mean') 
df['Std'] = grouped['price_observation'].transform('std') 

如果您想了解更多關於分組,您可以閱讀pandas documentation