numpy.empty([])创建的数组的性质



我创建了一个numpy.empty([0])数组,意外地键入了numpy.empty([])

这创建了一个具有字符串表示的numpy数组

array(0.)

尺寸为

>>> numpy.empty([]).size
1

和形状

>>> numpy.empty([]).shape
()

问题:此对象的性质是什么?

我无法从numpy.empty的文档中推断出它。特别是,我发现最令人困惑的是出现在字符串表示中的0.,它似乎是float(0.0)如果它以某种方式表示一个元素,则这是不可访问的我试图以numpy.empty([])[0]的身份访问它。

该对象在性质上与numpy.empty([0])创建的对象不同,后者具有大小

>>> numpy.empty([0]).size
0

和形状

>>> numpy.empty([0]).shape
(0,)

这是一个0维数组。numpy.empty的第一个参数指示每个维度的长度,传递长度为0的列表表示不需要任何维度。

在任何0维数组中只有一个元素,可以通过用0个索引的元组对其进行索引来访问:

arr[()]

这次元素恰好是0.0,但这并不能保证,因为您使用了numpy.empty

  • np.empty([10, 10, 10])创建一个三维数组,大小为10x10x10或103
  • np.empty([10, 10])创建一个二维数组,大小为10x10或102
  • np.empty([10])创建一个一维数组,大小为10或101
  • np.empty([])创建一个0维数组,大小为1或100

最新更新