传递值的长度为 1,索引表示 260
Posted
技术标签:
【中文标题】传递值的长度为 1,索引表示 260【英文标题】:Length of passed values is 1, index implies 260 【发布时间】:2020-06-12 21:05:03 【问题描述】:predicted_classes 的输出
array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 4, 4, 2, 4, 4, 4, 4, 5, 4, 4, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 7, 7, 7, 7, 7, 7, 7, 13, 7, 7, 8, 11, 8, 8, 8,
11, 8, 11, 11, 8, 11, 9, 9, 9, 9, 9, 9, 9, 9, 8, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 8, 11, 11, 11,
11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 3, 13, 3,
3, 13, 13, 13, 14, 14, 14, 14, 14, 14, 2, 14, 14, 14, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 19, 19, 19, 19, 8, 19, 19, 19, 19, 19, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25])
y_true 的输出
0 0 1 0 2 0 3 0 4 0 .. 255 25 256 25 257 25 258 25 259 25 名称:标签,长度:260,数据类型:int64我想用这段代码获取索引,并得到这个值错误。
predicted_classes = model.predict_classes(X_test)
y_true = data_test.iloc[:, 0]
correct = np.nonzero(predicted_classes==y_true)[0]
incorrect = np.nonzero(predicted_classes!=y_true)[0]
错误的痕迹
ValueError Traceback(最近一次调用最后一次) 在 4 #获取要绘制的索引 5 y_true = data_test.iloc[:, 0] ----> 6 正确 = np.nonzero(predicted_classes!=y_true)[0] 7 不正确 = np.nonzero(predicted_classes==y_true)[0] 在非零(*args,**kwargs) //anaconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py in nonzero(a) 1894年 第1895章 -> 1896 返回 _wrapfunc(a, '非零') 1897年 1898年 //anaconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 56 bound = getattr(obj,方法,无) 57 如果绑定为无: ---> 58 返回 _wrapit(obj, 方法, *args, **kwds) 59 60 次尝试: //anaconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py in _wrapit(obj, method, *args, **kwds) 49 如果不是实例(结果,mu.ndarray): 50 结果 = asarray(结果) ---> 51 结果 = 换行(结果) 52 返回结果 53 //anaconda3/lib/python3.7/site-packages/pandas/core/generic.py in __array_wrap__(self, result, context) 1916 返回结果 1917 d = self._construct_axes_dict(self._AXIS_ORDERS,复制=假) -> 1918 返回 self._constructor(result, **d).__finalize__(self) 1919年 1920 # 理想情况下,我们会定义它以避免 getattr 检查,但是 //anaconda3/lib/python3.7/site-packages/pandas/core/series.py in __init__(self, data, index, dtype, name, copy, fastpath) 290 如果 len(索引)!= len(数据): 第291章 --> 292 f"传递值的长度是len(data), " 293 f"index 意味着 len(index)。" 294) ValueError:。请告诉我哪里出错了。
【问题讨论】:
请写下你想要完成的,即实际输出和预期输出。请阅读介绍页面"How do I ask a good question?" 清楚地写下您的查询。很难理解实际问题是什么以及您为什么要面临这个问题。我做了一个快速的谷歌搜索,并根据您的错误详细信息找到以下链接link [link] (***.com/questions/27719407/…) [link] (github.com/quantopian/pyfolio/issues/449) 实际上我只是使用我自己的数据集按照这个 [链接] (kaggle.com/bugraokcu/cnn-with-keras/data),当我继续分类报告步骤时,我得到了错误 【参考方案1】:快速搜索发现old version of the documentation 建议使用.to_numpy().nonzero()
代替Series.nonzero()
。
【讨论】:
以上是关于传递值的长度为 1,索引表示 260的主要内容,如果未能解决你的问题,请参考以下文章
创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积
创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积,
Pandas ValueError:值的长度与索引的长度不匹配 - 创建新列