我想使用几何平均值和几何标准差(基于日期分组)聚合数据帧列表。数据帧具有datetimeindex,但有几天在所有数据帧中不包含任何值
数据:
col1 col2 col3 col4
datetime
2020-06-29 17:30:00+00:00 3.237216 2.919800 1.244800 0.247284
2020-06-29 17:45:00+00:00 3.896863 3.522242 1.513753 0.324903
2020-06-29 18:00:00+00:00 3.100665 2.796570 1.192138 0.273637
...
我的代码:
from scipy.stats.mstats import gmean
from scipy.stats import gstd
cols = ["col1", "col2","col3","col4"]
joined = pd.concat(df.reset_index() for df in listdata)
#joined = joined.replace({np.nan:1, 0:1})
joined[cols] = joined[cols].mask(joined[cols] < 0, 1)
df = joined.set_index('datetime').groupby(pd.Grouper(freq='D'))
means = df.agg(gmean)
std = df.apply(gstd)
#std = df.agg(gstd)
gmean工作正常,但gstd返回一个错误:
ValueError: Degrees of freedom <= 0 for slice
有没有办法解决这个错误?是不是因为数据帧中错过了几天
目前没有回答
相关问题 更多 >
编程相关推荐