首页 > 解决方案 > 使用两列连接两个 CSV 文件

问题描述

我有两个 csv 文件,一个用于患者的血压,另一个用于同一患者的心率和相同的小时测量,请参阅以下示例

第一个csv:

    subject_id     hour_id     blood_pressure
    
    1                 1           96
    
    2                 2           99

第二个csv:

    subject_id     hour_id     heart rate
    
    1                 1           80
    
    2                 2           89

期望的输出:

    subject_id     hour_id     blood_pressure    heart rate 
    
    1                 1           96               80
    
    2                 2           99                89

我试过了:

df = pd.read_csv('D:\\....', low_memory=False, error_bad_lines=False)
df2 = pd.read_csv('D:\\Users', low_memory=False, error_bad_lines=False)
merged = pd.concat([df, df2], axis=1, keys=['subject_id', 'hour_mesaure'])
print(merged)

但它给了我:

  subject_id     hour_id        blood_pressure      id          hour_id    heart rate
    
    1                 1              96             1             1            80
         
    2                 2               99             2            2            89

标签: pythonpandascsv

解决方案


请尝试df.merge

merged = df.merge(df2, on=['subject_id', 'hour_id'])

推荐阅读