【问题标题】:Copy rows from slice to another dataframe where index matches将行从切片复制到索引匹配的另一个数据帧
【发布时间】: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


【解决方案1】:
df.update(temp[column_name].rename(column_name))

【讨论】:

猜你喜欢
  • 2022-01-15
  • 1970-01-01
  • 2018-04-13
  • 2022-10-23
  • 2021-04-03
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多