【发布时间】:2020-01-09 07:41:30
【问题描述】:
我有两个数据框:df1 和 df_out。
df1 看起来像这样
phone_number1 phone_number2
1 123 123
2 345 0
3 678 678
4 912 912
5 555 666
还有df_out
phone_number address name
1 123 add1 name1
2 777777 add2 name2
3 666 add3 name3
4 555 add4 name4
并且想做这样的事情
phone_number address name df1_phone_number1 df1_phone_number2
1 123 add1 name1 123 123
2 777777 add2 name2 None None
3 666 add3 name3 None 666
4 555 add4 name4 555 None
我试过这段代码,但它不会保存匹配phone_number2的数据
mergedStuff3 = pd.concat([
pd.merge(df1, df_out, how='right', left_on=['phone_number1'], right_on = ['phone_number']),
pd.merge(df1, df_out, how='right', left_on=['phone_number2', 'phone_number1'], right_on = ['phone_number', 'phone_number'])
])
【问题讨论】:
-
我会先合并到 df_out, df1['phone_number1'] 然后再合并 df1['phone_number2']
标签: python python-3.x pandas dataframe