pd.cut报错Buffer维度错误 两段相似代码运行结果差异原因求解
两段代码运行结果差异原因
核心问题出在第一段代码的our_bins变量定义存在语法细节错误:
- 第一段代码中
our_bins = [0, 0.2, 0.5, 0.8334, 1.199, 1.999, 4.999, 1000],行末尾多了一个多余的逗号,Python会将右侧内容识别为长度为1的元组,our_bins实际值为([0, 0.2, 0.5, 0.8334, 1.199, 1.999, 4.999, 1000],),属于嵌套的二维结构。 pd.cut的bins参数要求传入一维序列,接收到二维元组结构后就会抛出ValueError: Buffer has wrong number of dimensions (expected 1, got 2)的维度不匹配错误。- 第二段代码直接将bins的列表写在参数位置,没有多余逗号,结构为符合要求的一维列表,因此可以正常运行。
修复第一段代码只需删掉our_bins定义行末尾的逗号即可。
内容的提问来源于stack exchange,提问作者zest16
相关产品推荐
相关产品推荐

