我有一个包含林分id、树种、高度和体积的数据框:
import pandas as pd
df=pd.DataFrame.from_items([('STAND_ID',[1,1,2,3,3,3]),('Species',['Conifer','Broadleaves','Conifer','Broadleaves','Conifer','Conifer']),
('Height',[20,19,13,24,25,18]),('Volume',[200,100,300,50,100,10])])
STAND_ID Species Height Volume
0 1 Conifer 20 200
1 1 Broadleaves 19 100
2 2 Conifer 13 300
3 3 Broadleaves 24 50
4 3 Conifer 25 100
5 3 Conifer 18 10
我想按展位id分组和取消堆叠,并计算体积加权平均高度,因此我尝试:
^{pr2}$高度当然不是体积加权平均值。我怎样才能给它们称重?如图3和针叶树:
(25*100 + 18*10)/(100+10)=24.4
如果我理解正确,一种方法是使用
apply
执行groupby
:如果lambda函数令人困惑,^{也可以与函数定义一起使用。(还有一个函数
numpy.average
来计算加权平均值)相关问题 更多 >
编程相关推荐