1. 首页 > 开发编程

IndexError:索引过多。具有1行2列的Numpy数组

如何解决IndexError:索引过多。具有1行2列的Numpy数组?

您的数组a = numpy.array([1,2])只有 一个 维度:其形状为(2,)。然而,你的切片 a[:,0]指定选择 2米 的尺寸。这导致NumPy引发错误。

要从中获取第一个元素,a只需编写即可a[0](此处仅选择一个维度)。


看另一个问题,如果您想确保语法a[:,0]始终有效,则可以确保a始终具有两个维度。np.loadtxt使用ndmin参数加载数组时,例如:

np.loadtxt(F, skiprows=0, ndmin=2)

解决方法

当我尝试仅获取像这样的数组的第一个元素时

import numpy

a = numpy.array([1,2])

a[:,0]

我得到这个错误

---------------------------------------------------------------------------
 IndexError                                Traceback (most recent call last)
<ipython-input-3-ed371621c46c> in <module>()
----> 1 a[:,0]

IndexError: too many indices

我想找到一种在仍然使用切片的情况下执行此操作的方法,因为完整的代码会打开,并使用numpy.loadtxt()两列(从1到N之间不等)的所有列读取许多不同的文件。

本文来自网友发布,不代表我们立场,转载联系作者并注明出处:

IndexError:索引过多。具有1行2列的Numpy数组