Pandas报AttributeError: DataFrame对象无qcut属性如何解决
错误原因
qcut是Pandas的顶层内置函数,不属于DataFrame对象的实例方法,通过DataFrame实例data直接调用.qcut()就会抛出无属性报错,该问题和MacOS M1硬件、Anaconda环境、Python/Pandas版本均无关联,属于API调用方式错误。
修复方案
直接通过Pandas模块本身调用qcut方法,将需要分箱的列作为参数传入即可,修正后的可运行代码:
import pandas as pd data['New_column'] = pd.qcut( x=data['Old_column'], q=4, labels=["25%", "50%", "75%", "100%"] )
补充注意事项
- 执行分箱前请确认
Old_column为数值类型,非数值列做等频分箱会触发类型报错 - 如果待分箱列存在大量重复值,可能出现分位点重合的报错,可添加
duplicates='drop'参数自动处理重复边界:data['New_column'] = pd.qcut( data['Old_column'], q=4, labels=["25%", "50%", "75%", "100%"], duplicates='drop' )
内容的提问来源于stack exchange,提问作者Vladimir Zaretskiy
相关产品推荐
相关产品推荐

