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

Python Numpy类型错误:ufunc 'isfinite'不支持输入类型排查

解决pd.cut分箱时的TypeError错误

错误原因

你定义的分箱边界bins是字符串类型列表['0','10','15','30','50','100'],而pd.cut要求分箱边界必须为数值类型(int或float)。字符串类型的边界会导致内部数值处理逻辑失效,触发ufunc 'isfinite' not supported类型错误。

修正后的代码

import pandas as pd
import numpy as np

df = pd.read_excel(r'D:\Practice Files\Anirudh Exercise Skin India.xlsx')

# 安全转换object类型为float:自动处理无法转换的异常值为NaN
df['Basepacksize'] = pd.to_numeric(df['Basepacksize'], errors='coerce')

# 将分箱边界改为数值类型
bins = [0, 10, 15, 30, 50, 100]
df1 = pd.cut(df['Basepacksize'], bins)
print(df1)

关键优化点

  • 替换astype(str).astype(float)为pd.to_numeric(errors='coerce'):更安全的类型转换方式,能自动将非数值内容转为NaN,避免直接强制转换报错
  • 把字符串类型的bins改为数值列表:确保pd.cut能正确识别分箱区间,执行数值判断和分箱操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:25:24