当我尝试仅获取像这样的数组的第一个元素时
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)
问题内容: 我在以下Python代码部分遇到问题: 具体的错误如下: 我已经进行了一些研究,似乎在运行脚本时,可能在命令行中需要一个参数,但是我不确定要添加什么或可能是什么问题!我也搜索了该站点,但是我发现的所有解决方案都没有评论,并且/或者没有像我一样包含开放功能。 任何帮助是极大的赞赏。 问题答案: 表示执行脚本所使用的命令行选项。 是您正在运行的脚本的名称。所有其他选项都包含在中。 您正在尝
问题内容: 我有一个奇怪的情况。 我有一个2D Numpy数组,x: 我有2个索引器-一个索引为行,一个索引为列。为了索引X,我必须执行以下操作: 不仅仅是: (失败:错误,无法通过(2,)广播(20,)) 我希望能够使用广播在一行中建立索引,因为这样可以使代码保持干净和可读性…而且,我对幕后的python并不太了解,但是据我了解它,它在一行中应该更快(我将使用相当大的数组)。 测试用例: 问题答
问题内容: 我有一个索引元组数组,我想用它从多维numpy数组中选取值, 理解只有在已知的情况下才有效。 有什么提示吗? 问题答案: 您可以将的转置版本转换为元组,然后为矢量化解决方案建立索引-
问题内容: 我有具有重复值的numpy 2d数组。 我正在搜索这样的数组。 输入是列表,其编号类似于列0的值。我想要的最终结果是任何形式的结果行,例如数组,列表或元组 我的代码工作正常,但似乎不是pythonic。有没有更好的多值搜索策略? 就像只进行一次查找即可获取所有值的地方。 我的真实数组很大 问题答案: 方法1: 使用- 方法2: 使用-
问题内容: 我有一个Numpy数组和一个索引列表,我想将其值加1。该列表可能包含重复的索引,我希望增量可以随每个索引的重复次数而缩放。没有重复,命令很简单: 通过重复,我想出了以下方法。 这是最好的方法吗?假设和操作将导致相同的排序顺序是否有风险?我是否缺少一些简单的Numpy操作来解决此问题? 问题答案: 做完之后 为什么不这样做: (为进一步简化而编辑。)
我很难选择一个NumPy矩阵的每行的特定列。 假设我有以下矩阵,我称之为: 我还有一个每行列索引的,我称之为: 我需要获得值: 我还可以生成一个与形状相同的矩阵,而不是带有索引的,其中每一列都是一个/范围为0-1的值,指示这是否是必需的列。 我知道这可以通过迭代数组并选择我需要的列值来完成。然而,这将经常在大的数据数组上执行,这就是为什么它必须尽可能快地运行。 因此,我想知道是否有更好的解决办法?