代码:
df = pd.read_csv("example.csv", parse_dates=['ds'])
df2 = df.set_index(['ds', 'city']).unstack('city')
rm = pd.rolling_mean(df2, 3)
sd = pd.rolling_std(df2,3)
df2输出:
我想要的:我想知道是否每个城市,每个日期,如果数字大于1标准差,从该城市的平均预订。对于ex伪码:
^{pr2}$问题是:我很难找出如何从每个数据帧访问我需要的数据。括号中的伪代码部分是我需要帮助弄清楚的。在
我尝试了:
df2[“城市”] 列表(df2)
他们都给我错误。在
df2[1:2]
拼接是可行的,但我觉得这不是访问它的最佳方式。在
您应该使用dataframeapi的
apply
函数。演示如下:输出:
^{pr2}$更具体地说,你的情况是:
你必须预先计算:“同一日期和城市滚动平均数”,“同一日期和城市标准差”。您可以使用^{} 函数,它允许按城市和日期汇总数据,然后计算标准偏差和平均值。
把std-dev和mean放在你的表中,使用字典:
some_dict = {('city', 'date'):[std_dev, mean], ..}
。要将数据放入数据帧,请使用apply函数。您有运行check byapply函数所需的所有数据。
相关问题 更多 >
编程相关推荐