当前位置: 代码迷 >> 综合 >> python merge错误ValueError: You are trying to merge on object and int64 columns.
  详细解决方案

python merge错误ValueError: You are trying to merge on object and int64 columns.

热度:97   发布时间:2023-12-22 03:14:36.0

python 在用merge函数的时候出现这种错误

ValueError: You are trying to merge on object and int64 columns.

查找原因:

发现原因是因为:数据库在同步的时候不知道是谁把字段tenant_id同步出来的时候一个是varchar在另外一张表中是int类型,转化成DataFrame的时候便出现了这种问题。

解决方法:

一、软转换(类型自动推断)

版本0.21.0引入了infer_objects()方法,用于将具有对象数据类型的DataFrame的列转换为更具体的类型。

例如,用两列对象类型创建一个DataFrame,其中一个保存整数,另一个保存整数的字符串:

然后使用infer_objects(),可以将列’a’的类型更改为int64:

df = df.infer_objects()
二、astype强制转换

将指定的列强制转换成指定类型

df.astype(int)
  相关解决方案