【发布时间】:2021-07-11 12:51:28
【问题描述】:
我有一个包含复杂条目的数组列表结构,我想将它们转换为浮点数。虚部可以去掉,没关系。
import numpy as np
a=np.array([2+3j,3+4j])
b=np.array([1+2j,4+3j])
arrays=[a,b]
for i,y in enumerate(arrays):
y=y.astype('float64')
print(arrays)
我想知道,为什么这不起作用,而另一方面,在创建列表“数组”之前将类型更改为 float 确实有效。
import numpy as np
a=np.array([2+3j,3+4j])
b=np.array([1+2j,4+3j])
a=a.astype('float64')
b=b.astype('float64')
arrays=[a,b]
print(arrays)
这是一个非常基本的问题,但如果有人能分享他或她对此的想法,我会非常高兴。
提前致谢:)
【问题讨论】:
-
y=y.astype('float64')这里y是数组元素的副本。arrays[i] = y.astype('float64')可能有用。 -
astype不是就地操作。因此,即使您设法将元素的 dtype 更改为arrays,您也不会更改a引用的对象的 dtype。