0
意思是,我创建了以下数据框:大熊猫计算每月
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
我试图做得到平均每一个月在创建:
monthly_availability_mean = monthly_availability.mean()
但是,在这里我得到以下输出:
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
当我用手检查八月,我得到:
1.0 + 0 + 0 + 0 + 0/5 = 0.2
如何获得每月平均正确?
嗯,对我来说它很好。也许索引不排序,并有另一行 - 尝试'df = df.sort_index()' – jezrael
谢谢!我尝试过: 'availability = pd.DataFrame(propertyAvailableData).set_index(“createdat”)' 'availability = availability.sort_index()' 'monthly_availability = availability.fillna(value = 0).groupby(pd.TimeGrouper (freq ='M'))' 但仍然得到相同的结果 – Bunker
我认为你需要'sort_index'来更好地检查数据,因为它似乎还有另外一个带有8月索引的行。或者你的短样本也存在问题? – jezrael