当我尝试仅获取像这样的数组的第一个元素时
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。
您的数组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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句