python中 join合并主键 出现的bugYou are trying to merge on object and int64 columns

代码:

order.rename({
    
    'info_id':'order_id'},inplace=True)
order_detail1 = detail1.join(order,on='order_id',rsuffix='1')
print('订单详情表和订单信息表join合并后的形状为:',order_detail1.shape)

出现这样错误
在这里插入图片描述解决方法发现

发现order[‘order_id’]和detail1[‘order_id’]的类型是object,将其转换成int类型就可以了
在这里插入图片描述

在这里插入图片描述
修改:

order.rename(columns={
    
    'info_id':'order_id'},inplace=True)
detail1['order_id'] = detail1['order_id'].astype(int)
order['order_id'] = order['order_id'].astype(int)
order_detail1 = detail1.join(order,on='order_id',rsuffix='1')
print('订单详情表和订单信息表join合并后的形状为:',order_detail1.shape)

成功了
在这里插入图片描述
总结:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jcjic/article/details/111686131