You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

合并DataFrame遇userId类型不匹配:元组转整数失败求解

解决DataFrame合并时userId类型不匹配的问题

你的问题核心是topUsers里的userId列存的是单元素元组(比如(75,)),属于object类型,没法直接转成int,导致和ratings_df的int64类型userId合并失败。按以下步骤处理:

  1. 提取元组中的数值
    先把每个元组里的第一个元素取出来,替换原列:

    topUsers['userId'] = topUsers['userId'].apply(lambda x: x[0] if isinstance(x, tuple) else x)
    

    (加isinstance判断是为了避免非元组元素报错,比如已经是数值的情况)

  2. 转换为整数类型
    提取后再转成int64,和另一表的类型对齐:

    topUsers['userId'] = topUsers['userId'].astype(int)
    
  3. 执行合并操作
    现在两表的userId类型一致,直接执行合并即可:

    topUsersRating = topUsers.merge(ratings_df, on='userId', how='inner')
    

如果还是有问题,可以先跑topUsers['userId'].apply(type).unique()看看列里的元素类型是不是还有其他异常,针对性处理。

内容的提问来源于stack exchange,提问作者Nazanin Hosseinkhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:42:07