下面是一个使用Python和pandas库来按周分组数据帧,并在一周内获取最早和最晚日期的例子:
import pandas as pd
# 创建一个示例数据帧
data = {
'date': pd.date_range('2022-01-01', periods=30, freq='D'),
'value': range(30)
}
df = pd.DataFrame(data)
# 将日期列设置为索引
df.set_index('date', inplace=True)
# 按周分组数据帧
df_weekly = df.resample('W').agg({'value': 'sum'})
# 获取最早和最晚日期到新列
df_weekly['start_date'] = df_weekly.index.min()
df_weekly['end_date'] = df_weekly.index.max()
print(df_weekly)
运行上述代码后,你将得到一个按周分组的数据帧,其中包含每周的总和以及最早和最晚日期的新列。输出结果如下:
value start_date end_date
date
2022-01-02 1 2022-01-02 2022-01-02
2022-01-09 28 2022-01-03 2022-01-09
2022-01-16 77 2022-01-10 2022-01-16
2022-01-23 126 2022-01-17 2022-01-23
2022-01-30 175 2022-01-24 2022-01-30
在这个例子中,我们首先创建了一个示例数据帧,包含一个日期列和一个值列。然后,我们将日期列设置为索引,并使用resample
函数将数据按周进行分组。最后,我们使用index.min()
和index.max()
方法获取最早和最晚日期,并将它们添加到新的列中。
上一篇:按周分组数据