【发布时间】:2018-10-18 14:52:53
【问题描述】:
我想合并两个数据框的数据。数据框是字符串
df1=pd.read_csv('test1.csv',encoding='utf8',index_col=['id_df1'],header=0)
df2=pd.read_csv('test2.csv',encoding='utf8',index_col=['id_df2'],header=0)
print(df1)
print(df2)
out:
id_df1 student contact_person
1 john Amy
2 jeff Cindy
3 steven Bob
4 tina Amy
id_df2 student parents_list
1 tina (Amy) (Bob)
2 steven (Eric) (Bob)
3 john (Amy)
4 jeff (Frank) (Harry)
print(type(df1['contact_person'][0]))
print(type(df2['parents_list'][0]))
out:
<class 'str'>
<class 'str'>
如果 df1['student']==df2['student'] & df1['contact_person'] 匹配 df2['parents_list']
我想使用这样的“外部”方法:
output
id_df1 id_df2 student contact_person parents
0 1 3 john Amy (Amy)
1 3 2 steven Bob (Eric) (Bob)
2 4 1 tina Amy (Amy) (Bob)
3 2 null jeff Cindy null
4 null 4 jeff null (Frank) (Harry)
【问题讨论】:
-
为什么 jeff 在结果中?我在 parents_list 中没有看到“c”。
-
我想用“外层”
-
我更新了我的问题,谢谢
标签: python python-3.x pandas merge outer-join