以下是一种使用Python的pandas库进行数据汇总和合并的示例代码:
import pandas as pd
# 创建示例数据
data1 = {'日期': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'],
'数值1': [10, 20, 30, 40, 50]}
data2 = {'日期': ['2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'],
'数值2': [60, 70, 80, 90, 100]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 将日期列转换为datetime类型
df1['日期'] = pd.to_datetime(df1['日期'])
df2['日期'] = pd.to_datetime(df2['日期'])
# 按照周长为5天进行汇总/合并
df1_weekly = df1.resample('5D', on='日期').sum().reset_index()
df2_weekly = df2.resample('5D', on='日期').sum().reset_index()
# 按照周长为7天进行汇总/合并
df1_weekly_7 = df1.resample('7D', on='日期').sum().reset_index()
df2_weekly_7 = df2.resample('7D', on='日期').sum().reset_index()
# 合并两个数据框
merged_df = pd.merge(df1_weekly, df2_weekly, on='日期', how='outer')
merged_df_7 = pd.merge(df1_weekly_7, df2_weekly_7, on='日期', how='outer')
print("按照5天周长汇总/合并的数据:")
print(merged_df)
print("\n按照7天周长汇总/合并的数据:")
print(merged_df_7)
在上述代码中,首先我们创建了两个示例数据框df1和df2,其中包含日期和数值列。然后,我们使用pandas的to_datetime
函数将日期列转换为datetime类型,以便后续的日期处理。
接下来,我们使用resample
函数按照5天和7天的周长对数据进行汇总。这里的on='日期'
表示按照日期列进行汇总,sum()
表示对数值列进行求和,reset_index()
用于重置索引。得到周长为5天和7天的汇总数据框df1_weekly、df2_weekly、df1_weekly_7和df2_weekly_7。
最后,我们使用merge
函数将两个周长的汇总数据框按照日期列进行合并,并指定how='outer'
参数表示使用外连接的方式合并。得到最终的合并数据框merged_df和merged_df_7。
最后,我们将合并后的结果打印输出。
上一篇:按照不同的值逐个汇总一个列
下一篇:按照不同的字段进行过滤和排序