Python大数据分析算法与实例
上QQ阅读APP看书,第一时间看更新

3.5 数组属性

这一节讨论NumPy的多种数组属性。

(1)shape

语法:ndarray.shape

这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。

【例3.8】

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print a.shape

输出如下:

(2, 3)

【例3.9】

# 这会调整数组大小
import numpy as np
a = np.array([[1,2,3],[4,5,6]]) a.shape =  (3,2)
print a

输出如下:

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

【例3.10】

NumPy还提供了reshape函数来调整数组大小。

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b

输出如下:

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

(2)ndim

语法:ndarray. ndim

这一数组属性返回数组的维数。

【例3.11】

# 等间隔数字的数组
import numpy as np
a = np.arange(24)
print a.ndim

输出如下:

[0 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16 17 18 19 20 21 22 23]

【例3.12】

# 一维数组
import numpy as np
a = np.arange(24) a.ndim
# 现在调整其大小
b = a.reshape(2,4,3)
print b
# b 现在拥有3个维度

输出如下:

[[[ 0,  1,  2]
[ 3,  4,  5]
[ 6,  7,  8]
[ 9, 10, 11]]
[[12, 13, 14]
[15, 16, 17]
[18, 19, 20]
[21, 22, 23]]]

(3)itemsize

语法:numpy. itemsize

这一数组属性返回数组中每个元素的字节单位长度。

【例3.13】

# 数组的 dtype 为 int8(一字节)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize

输出如下:

1

(4)flags

语法:numpy. flags

ndarray对象拥有以下属性。这个函数返回了它们的当前值。

【例3.14】

展示当前的标志。

import numpy as np
x = np.array([1,2,3,4,5])
print x.flags

输出如下:

C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False

表3.2列出了ndarray对象的属性及描述。

表3.2 ndarray对象属性