【发布时间】:2015-08-18 14:04:12
【问题描述】:
我有一个商店位置数据集,其中包含事件日期(所有库存从该商店售出的日期)和售出商品的数量,如下所示:
import numpy as np, pandas as pd
# Dates
start = pd.Timestamp("2014-02-26")
end = pd.Timestamp("2014-09-24")
# Generate some data
N = 1000
quantA = np.random.randint(10, 500, N)
quantB = np.random.randint(50, 250, N)
sell = np.random.randint(start.value, end.value, N)
sell = pd.to_datetime(np.array(sell, dtype="datetime64[ns]"))
df = pd.DataFrame({"sell_date": sell, "quantityA":quantA, "quantityB":quantB})
df.index = df.sell_date
我想创建一个新的时间序列数据框,其中包含来自这些数量 A 和 B 的范围内的每周摘要(或每天;或每个自定义 date_range 对象)。
我可以根据这些生成周数和总销售额,就像这样......
df['week'] = df.sell_date.dt.week
df.pivot_table(values = ['quantityA', 'quantityB'], index = 'week', aggfunc = [np.sum, len])
但我不知道如何执行以下操作:
- 将此扩展为完整的时间序列(基于 date_range 对象,例如
period_range = pd.date_range(start = start, end = end, freq='7D')), - 包括原始日期(作为“周开始”变量),而不是整数周数,或
- 将日期变量更改为这个新数据框的索引。
【问题讨论】: