Python - 多维数组语法

时间:2016-12-13 21:35:37

标签: numpy multidimensional-array

我遇到了numpy并试图了解构建multidimensional arrays的正确语法。例如:

numpy.asarray([[1.,2], [3,4], [5, 6]])

打印:

[[ 1.  2.]
 [ 3.  4.]
 [ 5.  6.]]

while:

numpy.asarray([[1 ,2], [3, 4], [5, 6]])

打印:

[[1 2]
 [3 4]
 [5 6]]

.是一个奇怪的语法元素。

它到底做了什么?

1 个答案:

答案 0 :(得分:1)

np.array从元素的性质中[]dtype的嵌套推断出数组形状。如果至少有一个元素是Python float,则整个数组都是float:

In [178]: x=np.array([1, 2, 3.0])    # 1d float
In [179]: x.shape
Out[179]: (3,)
In [180]: x.dtype
Out[180]: dtype('float64')

如果所有元素都是整数 - 该数组也是int

In [182]: x=np.array([[1, 2],[3, 4]])   # 2d int
In [183]: x.shape
Out[183]: (2, 2)
In [184]: x.dtype
Out[184]: dtype('int32')

您也可以明确设置dtype,例如

In [185]: x=np.array([[1, 2],[3, 4]], dtype=np.float32)
In [186]: x
Out[186]: 
array([[ 1.,  2.],
       [ 3.,  4.]], dtype=float32)
In [187]: x.dtype
Out[187]: dtype('float32')