本文介绍了 pandas 计算每月平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了以下数据框:
availability = pd.DataFrame(propertyAvailableData).set_index("createdat")
monthly_availability = availability.fillna(value=0).groupby(pd.TimeGrouper(freq='M'))
这给出了以下输出
2015-08-18 2015-09-09 2015-09-10 2015-09-11 2015-09-12 \
createdat
2015-08-12 1.0 1.0 1.0 1.0 1.0
2015-08-17 0.0 0.0 0.0 0.0 0.0
2015-08-18 0.0 1.0 1.0 1.0 1.0
2015-08-18 0.0 0.0 0.0 0.0 0.0
2015-08-19 0.0 1.0 1.0 1.0 1.0
2015-09-03 0.0 1.0 1.0 1.0 1.0
2015-09-03 0.0 1.0 1.0 1.0 1.0
2015-09-07 0.0 0.0 0.0 0.0 0.0
2015-09-08 0.0 0.0 0.0 0.0 0.0
2015-09-11 0.0 0.0 0.0 0.0 0.0
我正在尝试通过以下操作获得每个月创建的平均值:
I'm trying to get the averages per created at month by doing:
monthly_availability_mean = monthly_availability.mean()
但是,在这里我得到以下输出:
However, here I get the following output:
2015-08-18 2015-09-09 2015-09-10 2015-09-11 2015-09-12 \
createdat
2015-08-31 0.111111 0.444444 0.666667 0.777778 0.777778
2015-09-30 0.000000 0.222222 0.222222 0.222222 0.222222
2015-10-31 0.000000 0.000000 0.000000 0.000000 0.000000
当我亲自检查八月时,我得到了:
And when I hand check august I get:
1.0 + 0 + 0 + 0 + 0 / 5 = 0.2
我如何获得每月正确的均值?
How do I get the correct mean per month?
推荐答案
availability.resample('M').mean()
这篇关于 pandas 计算每月平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!