通过公共字段comm
,我有以下两个数据帧
DataFrame I(vv(
V_Id object
V_Time object
comm object
dtype: object
V_Id V_Time comm
0 1234 2020-02-02-10-15-20 (166.0467, 35.2363)
1 1234 2020-02-02-10-15-22 (166.047, 35.2363)
2 1234 2020-02-02-10-15-23 (166.0473, 35.2363)
3 1234 2020-02-02-10-15-25 (166.0475, 35.2363)
DataFrame II(rr(
R_Id object
comm object
dtype: object
R_Id comm
0 One (166.0467, 35.2371)
1 One (166.0468, 35.2371)
2 One (166.0468, 35.2371)
当我运行vv.join(rr, on=['comm'])
时,我得到以下错误
ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat
如何通过comm
加入/合并?
这是后该SO的轻微变化
vv.join(rr.set_index('comm'), on='comm', how='outer')
我已经将rr的第一个comm值更改为(166.0467,35.2363(。因此,这两个数据帧至少有一个共同元素。输出:
V_Id V_Time comm R_Id
0.0 1234.0 2020-02-02-10-15-20 (166.0467, 35.2363) One
1.0 1234.0 2020-02-02-10-15-22 (166.047, 35.2363) NaN
2.0 1234.0 2020-02-02-10-15-23 (166.0473, 35.2363) NaN
3.0 1234.0 2020-02-02-10-15-25 (166.0475, 35.2363) NaN
NaN NaN NaN (166.0468, 35.2371) One
NaN NaN NaN (166.0468, 35.2371) One