【发布时间】:2018-01-19 16:42:24
【问题描述】:
我有以下数据框:
df1:带有患者重要注释的数据框
AREA DATE_TIME CRITICAL ISSUE NOTES
0013 11/6/2017 2:25:00 P.M Nurse attended to the patient
1121 10/23/2017 6:43:00 A.M Completed an ER
1121 10/2/2017 9:30:00 P.M Admitted
df2:患者其他详细信息
ZIP TIME_NOTED NAME OCCUPIED STATE
4568 10/1/2017 10:04:00 A.M Chris Y NORMAL
1121 10/23/2017 6:43:00 A.M Nancy Y CRITICAL
1121 10/2/2017 9:30:00 P.M Derek N CRITICAL
我必须使用 df1 中的 DATE_TIME 和 AREA 代码映射 df2 中的记录,并保留两个数据框中的所有其他列。我尝试合并多个列,但没有按预期工作。
new_df = pd.merge(df1, df2, how='right', left_on=['Date_Time','AREA'], right_on = ['ZIP','TIME_NOTED'])
【问题讨论】:
-
尝试
merge时遇到的错误是什么。什么是 ENS? -
看起来
right_on应该是['TIME_NOTED', 'ZIP']才有机会匹配left_on... -
@JonClements 的意思是您需要检查您的 right_on 和 left_on 列表的顺序。要么将日期列放在两个列表的第一位,要么放在两个列表的第二位。目前,right_on 与 left_on 不匹配,无法进行合并。
-
@ScottBoston 尝试更改顺序。它显示合并后df1中所有列的空值
-
请在您的问题中添加 df1.to_dict() 和 df2.to_dict() 的输出。