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

使用pandas统计CSV列中字符串出现次数报int64不支持错误如何解决

问题解决方法

错误根因

你遇到的这个报错是因为当前执行环境(一般是对接了Thrift接口的分布式运行环境、受限在线编程环境)不支持直接传输numpy的int64类型,原生pandas对布尔掩码调用sum()返回的就是numpy.int64类型,所以触发了序列化异常。

可用解决方式

下面几种方法都可以实现统计需求,同时避免报错:

  • 方法1:用value_counts统计后转Python原生int
# 统计所有分类的出现次数,取不到pound时默认返回0,转原生int规避类型问题
total = int(df['pred_class'].value_counts().get('pound', 0))
print(total)
  • 方法2:过滤匹配行后取行数再转类型
# 先筛选出pred_class为pound的所有行,取行数后转原生int
total = int(df[df['pred_class'] == 'pound'].shape[0])
print(total)
  • 方法3:用字符串匹配统计后转换类型
# 精确匹配每一行的字符串是否为pound,求和后转原生int
total = int(df['pred_class'].str.fullmatch('pound').sum())
print(total)

所有方法的核心逻辑都是将计算得到的numpy数字类型转换为Python原生的int类型,适配当前环境的传输要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:18:04