向Python numpy数组分配元素的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向Python numpy数组分配元素的问题相关的知识,希望对你有一定的参考价值。

我有一个3D数组,定义和初始化如下。我可以知道为什么以下作业不起作用吗?谢谢。

import numpy as np
xy = np.array([[(0,0) for _ in np.arange(0,2,0.5)] for _ in np.arange(0,2,0.5)])
xy[(0,0)] = (0,0.5)
print(xy[(0,0)])

输出:

[0 0]

所需的输出:

[0 0.5]
答案

请参阅下面的代码:

import numpy as np
xy = np.array([[(0,0) for _ in np.arange(0,2,0.5)] for _ in np.arange(0,2,0.5)])
xy = xy.view('float32')
xy[(0,0)] = (0,0.5)
print(xy[(0,0)])

输出

[0.  0.5]
另一答案

好的,这是一个具有正确的数组创建,赋值和变量名的版本:

import numpy as np

arr_1 = np.zeros(shape=(4, 4, 2))

arr_1[0, 0] = [0, 0.5]

print(arr_1[0, 0])的输出:[0. 0.5]

以上是关于向Python numpy数组分配元素的问题的主要内容,如果未能解决你的问题,请参考以下文章

NumPy基础-数组与向量化计算

Python - 数组复制/分配,numpy的意外'=array [:]'行为

为numpy数组分配新值的问题[重复]

如何将 numpy 二维数组作为一种可以用 C++ 读取的二进制格式存储到磁盘上

第83天:NumPy 字符串操作

第83天:NumPy 字符串操作