Python中如何将两个数据集的同日期匹配记录合并到其中一个数据集
你可以直接通过Pandas的左连接逻辑实现该需求,代码示例如下:
首先导入依赖并构造示例数据(如果已经读取了真实数据集可跳过构造步骤):
import pandas as pd # 构造df1示例数据 df1 = pd.DataFrame({ 'Date': ['2021-08-01', '2021-08-02', '2021-08-03', '2021-08-04', '2021-08-05'], 'sales': [10000, 575, 12212, 902, 456], 'product': ['a']*5 }) # 构造df2示例数据 df2 = pd.DataFrame({ 'Date': ['2021-08-03', '2021-08-04', '2021-08-05', '2021-08-06', '2021-08-07'], 'sales': [1000, 435, 759, 9123, 642], 'product': ['b']*5 })
核心处理逻辑:
# 重命名销售额列,避免合并时重名冲突 df1 = df1.rename(columns={'sales': 'sales_a'}) # 提取df2需要用于合并的列并重命名 df2_merge = df2.rename(columns={'sales': 'sales_b'})[['Date', 'sales_b']] # 以df1为左表做左连接,保留df1全部行 result = pd.merge(df1[['Date', 'sales_a']], df2_merge, on='Date', how='left') # 将未匹配到的sales_b空值填充为0,转换为整数格式 result['sales_b'] = result['sales_b'].fillna(0).astype(int)
执行后输出的result就是你需要的目标数据集。如果出现匹配失败的情况,先检查两个数据集的Date列格式是否完全一致。
内容的提问来源于stack exchange,提问作者Rachel
相关产品推荐
相关产品推荐

