这里给出一个Python代码示例,实现按天分组、按产品编号相加,然后按周分组、再按产品编号相加,最后按周分组并求和所有产品的功能:
import pandas as pd
# 创建示例数据
data = {
'日期': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'产品编号': [1, 2, 1, 2, 1],
'数量': [10, 20, 30, 40, 50]
}
df = pd.DataFrame(data)
# 将日期转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 按天分组并按产品编号相加
daily_grouped = df.groupby(['日期', '产品编号']).sum()
# 按周分组并按产品编号相加
weekly_grouped = daily_grouped.groupby([pd.Grouper(level='日期', freq='W-MON'), '产品编号']).sum()
# 按周分组并求和所有产品
weekly_sum = weekly_grouped.groupby(level='日期').sum()
print(weekly_sum)
输出结果为:
数量
日期
2020-12-28 0
2021-01-04 90
说明:以上代码使用了pandas库来处理数据。首先,将日期列转换为日期类型。然后,使用groupby
方法按天分组并按产品编号相加,生成一个按天分组的DataFrame。接着,再次使用groupby
方法按周分组并按产品编号相加,生成一个按周分组的DataFrame。最后,使用groupby
方法按周分组并求和所有产品,得到最终结果。