我有以下代码
import numpy as np
arr=np.array([[3,2,1],[4,3,1],[3,1,0]])
x=np.array([16,21.7,12.1])
for i in range(len(arr)):
temp=np.copy(arr)
temp[:,i]=x
当我执行这个而不是生成temp=[[3,2,16],[4,3,21.7],[3,1,12.1]]
时,它生成[[3,2,16],[4,3,21],[3,1,12]]
。它是圆的,但我不想那样。我使用了.astype()
、float()
等,但没有工作。
将dtype=float
添加到arr
arr = np.array([[3, 2, 1], [4, 3, 1], [3, 1, 0]], dtype=float)
...
print(temp)
# [[ 3. 2. 16. ]
# [ 4. 3. 21.7]
# [ 3. 1. 12.1]]
将数组声明为浮点型
arr=np.array([[3,2,1],[4,3,1],[3,1,0]]).astype(np.float32)
或者在复制时进行转换
temp=np.copy(arr).astype(np.float32)