python - 如何将 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
解决方案
据我说,你已经为你的数组声明了不适合它的内容。如果我们假设它是一维的并且程序反对将它视为二维。因此,请检查您的声明是否正确,并在您设置它们后通过打印值来测试代码,以仔细检查它们是否是您想要的。
IndexError: too many indices for array
发生是因为如果有太多的索引值。
例如:您给定了两个值,因为您期望数据是二维数组。它在抱怨,因为 data 不是 2D 。它是一维数组或空数组,您可能会得到一个返回的数组,它要么是一维的,要么是空的
推荐阅读
- c# - RestSharp PUT 请求没有任何改变
- android - 如何从适配器调用firebase上传task.cancel()事件到android中的活动?
- python - 如何比较熊猫数据框的两个不同列的值?
- java - JPA 组合键和级联
- c# - Authorize.Net In-Person SDK:无法退还信用卡交易;改为收取新交易费用
- ruby-on-rails - Rails Postgresql 表中的条目未正确呈现
- python - 我可以比较 Django 中的两个 datetime.datetime 字段吗?
- python - 如何在破折号中访问请求标头
- amazon-web-services - S3 存储桶策略“拒绝”覆盖“允许”
- python - 我在 Python 中运行 IDL 代码,或者只是运行代码