python - 将numpy数组的一部分除以一个常数
问题描述
当我将 numpy 数组的一部分除以常数时,我无法理解会发生什么。如果我跑
import numpy as np
a = np.array([1,2,3])
a[:2] = a[:2]/2
print(a)
我明白了
[0 1 3]
为什么不a
等于array([0.5, 1.0, 3])
,我如何a
才能等于?
解决方案
正如编写此示例时的评论所建议的那样。但是,它是写的,所以它是这样的:
通过创建数组并仅传递int
s 数组是类型dtype('int64')
(从 first 开始print
)。您可以将其显式设置float
为如第二个示例所示,这将提供您的预期输出。
import numpy as np
a = np.array([1,2,3])
a[:2] = a[:2]/2
print(a)
a.dtype
b = np.array([1,2,3], dtype=np.float16)
b[:2] = b[:2]/2
print(b)
b.dtype
推荐阅读
- javascript - 如何将particles-js设置为背景?
- ios - 始终在地图应用程序中显示比例尺(iOS 7/10)
- java - 登录 Firebase Android 后获取 Uid
- javascript - 如果用户的答案是 NaN,则提醒 NaN 并再次询问一个数字
- xaml - GridView ItemClick 事件不起作用?
- php - PHP 问题显示(回显)JSON 对象项
- javascript - 添加动态元素javascript时保持样式
- javascript - 使用 lodash 比较两个不同长度的数组
- javascript - CSS动画 - 在标题旁边从左到右滑入
- javascript - 从服务器向客户端发送媒体流