我是python熊猫的新手。 任何帮助将非常感激Python熊猫的平均值和加权平均值
这是我的原始数据:
Feed Close Sector Market_Cap
Date
2015-09-18 A 5.60 Property 50
2015-09-21 A 5.60 Property 20
2015-09-23 A 5.60 Property 30
2015-09-18 ABC 0.67 Property 50
2015-09-21 ABC 0.66 Property 80
2015-09-18 DA 0.67 Mining 65
2015-09-21 KK 1.66 Mining 80
什么,我想获得的是:
1创建一个新列的呼叫平均来计算平均市值每个饲料。
2查找加权平均值。
This is what I want:
Feed Close Sector Market_Cap Mean Sector_WeightedAvg
Date
2015-09-18 A 5.60 Property 50 33.33 33.33/(33.33+65)
2015-09-21 A 5.60 Property 20 33.33 33.33/(33.33+65)
2015-09-23 A 5.60 Property 30 33.33 33.33/(33.33+65)
2015-09-18 ABC 0.67 Property 50 65 65/(33.33+65)
2015-09-21 ABC 0.66 Property 80 65 65/(33.33+65)
2015-09-18 DA 0.67 Mining 65 62 62/(62+80)
2015-09-21 KK 1.66 Mining 80 80 80/(62+80)
这是我目前的平均代码,我得到楠:
df3= pd.DataFrame(df3)
df3['Mean'] = df3.groupby(by=['Sector'])[ Market_Cap].mean()
Feed Close Sector Market_Cap Mean
Date
2015-09-18 A 5.60 Property 50 NaN
2015-09-21 A 5.60 Property 20 NaN
2015-09-23 A 5.60 Property 30 NaN
2015-09-18 ABC 0.67 Property 50 NaN
和加权平均代码:
df2['WeightedAverage'] =df3[ Market_Cap].value /df3['Mean'].value
我得到了错误:
AttributeError: 'Series' object has no attribute 'value'
'这给error' - 什么错误?我们可以得到回溯? – cel
您的数据框中没有“Value”列,但您可以在代码中引用它。 –
恩,我已转贴。它应该是Market_Cap。我仍然得到了同样的错误 – Dusty