python - 使用浮点数复制 numpy 数组的值
问题描述
我有以下 numpy 数组:
X = np.array([[1,2,3], [4,5,6], [7,8,9]])
y = np.array([[0.1,0.2,0.3], [0.4,0.5,0.743], [0.834,0.96,0.1]])
我试图y
使用以下方法将一些列复制到 X 中:
X[:, [0,1]] = y[:, [0,1]]
但是,在我打印后,X
我得到:
In[20]: X
Out[20]:
array([[0, 0, 3],
[0, 0, 6],
[0, 0, 9]])
如您所见,就好像浮动是圆形的。我想要花车不四舍五入,我该如何解决?
解决方案
x 的 dtype 是int
因为它具有所有整数值,
所以只需在创建 x 时更改 dtype,如下所示:
x = np.array([[1,2,3], [4,5,6], [7,8,9]], dtype=float)
y = np.array([[0.1,0.2,0.3], [0.4,0.5,0.743], [0.834,0.96,0.1]])
x[:, [0,1]] = y[:, [0,1]]
print(x)
输出:
[[0.1 0.2 3. ]
[0.4 0.5 6. ]
[0.834 0.96 9. ]]
编辑
或者,如果您不x
手动创建,那么正如@Arda Keskiner 在评论中建议的那样使用:
x = x.astype(float)
x[:, [0,1]] = y[:, [0,1]]
推荐阅读
- amazon-ec2 - LXD 容器无法通过 SSH 连接到 AWS
- node.js - 将后端的前端 react 和 express + nodemailer 部署到共享主机中?
- python - 在 QTextDocument 中保留下一段的标题
- r - 关于汇总中的 tidyverse 中位数
- php - 管理员身份验证的 img 未在 laravel 8 中加载
- python - FastAPI main 未执行
- javascript - 如何仅在动画期间保持块固定在视图中?
- python - Pandas 错误:“[Index([' '], dtype='object')] 均不在 [columns] 中”
- java - 无法在 Eclipse jee-2020-03 上安装 Aptana Studio 3
- unity3d - 如何在 Unity VR 中为抓取设置动画?