python - 为什么要在 Numpy 中初始化一个数组
问题描述
我正在上一门关于 Python 统计思维的DataCamp 课程。在课程的某一时刻,讲师建议在用随机浮点数填充空数组之前初始化一个空数组,例如
rand_nums = np.empty(100_000)
for i in range(100_000):
rand_nums[i] = np.random.random()
理论上,是否有任何理由在填充空数组之前对其进行初始化?它会节省内存吗?与以下代码相比,上面的代码有什么优势:
rand_nums = np.random.random(size=100_000)
解决方案
绝对没有理由这样做。第二种方式更快、更易读且语义正确。
除此之外,np.empty
实际上并没有初始化数组 - 它只分配内存,但现在它包含从这个程序和其他程序留在内存中的任意数据。
推荐阅读
- mysql - 将 CASE WHEN 与另一个 CASE WHEN 一起使用的 MySQL 解决方案
- excel - 自动关闭工作簿
- python - python matplotlib中带有过滤条的交互式散点图
- sinch - 在后台接收 Sinch 消息和呼叫,并显示传入消息的通知并显示呼叫覆盖
- tig - 如何在 tig 中保存 refs 视图排序
- pycharm - 在 PyCharm 中搜索“TODO”不起作用
- swift - 如何使`ReadMoreTextView`库中的`attributedReadMoreText`不可选择-swift
- ios - 如何在swift4中解析对象内的数组内的json对象
- csv - awk 分成随机子集
- javascript - 对 rollup.js 外部使用 glob 或正则表达式模式