【发布时间】:2018-08-16 15:01:39
【问题描述】:
我有一个这样的数组:
[487, 410, 358, 242, 180, 100, 190, 192, 180, 200,355,460]
这 12 个点是为了代表每个月产品的累计销售额。因此,1 月份售出 487 件产品,2 月份售出 410 件,以此类推。
我正在尝试制作一个数据框,在工作日的上午 8 点至下午 4 点的时间窗口(可能忽略节假日)将其重新采样为每小时数据(一年)因此,数据框包含所有时间,但在上午 8 点至下午 4 点之外,该值为 0。数据框中 1 个月内所有数据点的总和应如上面的数组中所示。
hour = df.index.hour
selector = ((8 <= hour) & (hour <= 16))
data = df[selector]
sliceddata = data[data.index.dayofweek < 5]
在 sliceddata 中使用它,我可以得到所有在上午 8 点到下午 4 点之间的行。我可以将每月的数据进一步切片
temp = sliceddata[sliceddata.index.month == i] #where i=1 to 12
而且我能够执行我最初想要的计算。
如何将值从 temp 复制到 sliceddata,然后最终返回原始数据帧?
【问题讨论】:
-
您似乎在要求某人为您编写一些代码。 Stack Overflow 是一个问答网站,而不是代码编写服务。请see here学习如何写出有效的问题。
-
我真的不知道如何从这个开始,所以任何提示将不胜感激。
标签: python pandas time-series