如何分配 Numpy 数组的特定部分?

Posted

技术标签:

【中文标题】如何分配 Numpy 数组的特定部分?【英文标题】:How do assign a specific part of a Numpy array? 【发布时间】:2021-12-26 03:40:34 【问题描述】:

这就是我想做的:

a = [[1, 2],[3,4]]
b = np.zeros(shape = (2,2))
b[:, 1:] = a[:,1:]

但我收到此错误消息:

TypeError: 列表索引必须是整数或切片,而不是元组

【问题讨论】:

a 是列表的列表,而不是 NumPy 数组,因此不能对其使用 NumPy 切片。 a 是一个列表,a 的切片中有一个杂散的逗号 谢谢!问题解决了 【参考方案1】:

正如@MattDMo 所提到的,您正在尝试在 2D 列表上使用 numpy 切片。您可以通过简单地将列表转换为 numpy 数组来解决此问题

a = np.array([[1, 2],[3,4]])
b = np.zeros(shape = (2,2))
b[:, 1:] = a[:,1:]

【讨论】:

以上是关于如何分配 Numpy 数组的特定部分?的主要内容,如果未能解决你的问题,请参考以下文章

如何将张量值分配给numpy数组[重复]

如何通过索引将 scipy.sparse 矩阵分配给 NumPy 数组?

如何从熊猫框架中的特定列中提取numpy数组并将它们堆叠为单个numpy数组[重复]

如何从 numpy nd 数组中删除特定元素?

如何使用迭代函数为同一维度的numpy数组分配新的不同值

如何为numpy数组中的特定行和列分配字符串值?