Python设置DataFrame索引报numpy.ndarray无index属性错误怎么解决
问题解决方法
错误根因
报错AttributeError: 'numpy.ndarray' object has no attribute 'index'的核心原因是:你操作的y_test_proba是Numpy数组类型,该类型没有内置的index属性,只有Pandas的Series或DataFrame对象支持索引设置操作。
具体解决步骤
- 场景1:
y_test_proba是一维数组(比如二分类的正样本概率、单标签预测结果),直接转为Pandas Series即可同时完成索引赋值:
import pandas as pd y_test_proba = pd.Series(y_test_proba, index=X_test.index)
- 场景2:
y_test_proba是二维数组(比如多分类任务输出的各类别概率,每列对应一个类别的概率),转为Pandas DataFrame即可:
import pandas as pd # 可按需添加columns参数为每列指定名称 y_test_proba = pd.DataFrame(y_test_proba, index=X_test.index, columns=["类别A概率","类别B概率","类别C概率"])
注意事项
操作前需确认y_test_proba的第一维度长度和X_test的索引长度完全一致,否则会触发长度不匹配的报错。
内容的提问来源于stack exchange,提问作者Anwar San
相关产品推荐
相关产品推荐

