首页 > 解决方案 > 如何将 np.loadtxt 结果放入数组

问题描述

我想将 np.loadtxt 放入新数组,但出现太多索引错误

data = np.loadtxt('lab_iris_data.csv', dtype={'names': ('sepal length', 'sepal width', 'petal length', 'label'),'formats': (np.float, np.float, np.float, '|S15')}, delimiter=',', skiprows=0)

x = data[:,0:2]
y = data[:,-1]
print (data)

----> 9 x = data[:,0:2] 10 #y = data[:,-1] 11 print (data) IndexError: too many indices for array

标签: pythonnumpy

解决方案


据我说,你已经为你的数组声明了不适合它的内容。如果我们假设它是一维的并且程序反对将它视为二维。因此,请检查您的声明是否正确,并在您设置它们后通过打印值来测试代码,以仔细检查它们是否是您想要的。

IndexError: too many indices for array发生是因为如果有太多的索引值。

例如:您给定了两个值,因为您期望数据是二维数组。它在抱怨,因为 data 不是 2D 。它是一维数组或空数组,您可能会得到一个返回的数组,它要么是一维的,要么是空的


推荐阅读