ValueError:当通过cooridnates连接时,您试图在对象和int64列上合并错误



通过公共字段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

最新更新