【问题标题】:Are the values returned by numpy.empty() random or not?numpy.empty() 返回的值是否随机?
【发布时间】:2019-07-10 13:12:26
【问题描述】:

https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.empty.html

读取“返回给定形状和类型的新数组,而不初始化条目。” Q1:“不初始化条目”怎么办。在这里的意思。 Q2:np.empty() 返回的输出是随机数吗? 我正在使用下面的代码生成一个数组,并且得到相同的输出,那么它们怎么可能是随机数?

将 numpy 导入为 np

打印(np.empty([2,2]))

【问题讨论】:

标签: python numpy


【解决方案1】:

数组在内存中分配,但该区域中的每个项目都未初始化,就像未初始化的变量一样。换句话说,数组中的项目没有设置它们的值,并且只是获取内存中保存的值,直到您明确地为它们分配一个值。有时这个值是 0 或接近于它,但不能保证这些位置的内存中有什么。这是reference page上的注释:

empty 与 zeros 不同,它不会将数组值设置为零,因此可能会稍微快一些。另一方面,它需要用户手动设置数组中的所有值,应谨慎使用。

因此,除非您有特定的用例,否则请使用 zeros 或其他内容。我还要注意,通常 Python 不允许您只声明一个变量而不初始化它,这就是为什么这种行为看起来很奇怪。

【讨论】:

    猜你喜欢
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2021-09-07
    相关资源
    最近更新 更多