Numpy数组—Array
Numpy的主要对象是多维数组。它是一个由元素(通常是数字)构成的表,所有元素的类型相同。维度的数量称为数组的阶(rank),数组的大小是一个由整型数构成的元组,可以描述数组不同维度上的大小。
1 2 3 4 5
| import numpy as np
a = np.array([0, 1, 2, 3]) print(type(a)) print(a)
|
Numpy的数组类叫做ndarray,别名是array
数组的属性:
ndarray.ndim:数组的维度数
ndarray.shape:数组每个维度的大小
ndarray.size:数组中元素的总个数
ndarray.dtype: 数组中元素的类型
ndarray.itemsize: 数组中每个元素所占的字节数
ndarray.data: 包含真实数组元素的缓冲区
1 2 3 4 5 6 7 8 9 10 11
| import numpy as np
a = np.array([[0.,1.,2.],[3.,4.,5.]]) # 创建一个2维数组 print(a) # 打印 "[[ 0. 1. 2.] # [ 3. 4. 5.]]" print(a.ndim) # 打印 "2" print(a.shape) # 打印 "(2, 3)" print(a.size) # 打印 "6" print(a.dtype) # 打印 "float64" print(a.itemsize) # 打印 "8" (64/8=8) print(a.data) # 打印 "<memory at 0x7f18400ae3a8>"
|
手动创建数组
可以利用array函数从python的列表或元组创建一个数组。
1 2 3 4 5 6 7 8 9
| #1维数组 import numpy as np # 导入Numpy的推荐方式 a = np.array([0, 1, 2, 3]) # 创建一维数组
#2维及多维数组 import numpy as np b = np.array([[0, 1, 2],[3, 4, 5]]) # 创建2维数组 print(b) # 打印 "[[0 1 2] # [3 4 5]]"
|
用函数创建数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
import numpy as np
a = np.arange(10) print(a) b = np.arange(1, 9, 2) print(b) c = np.arange(0, 2.5, 0.4) print(c)
import numpy as np
d = np.linspace(0, 1, 6) print(d) e = np.linspace(0, 1, 5, endpoint=False) print(d)
import numpy as np
a = np.ones((1,2)) print(a)
b = np.zeros((2,2)) print(b)
c = np.full((2,2), 7) print(c) d = np.eye(2) print(d) e = np.diag(np.array([1,2,3])) print(e) f = np.empty((2,2)) print(f)
|
基本运算
数组的算术运算是按元素的。新的数组被创建并且被结果填充。
1 2 3 4 5 6 7 8 9 10 11 12 13
| >>> a = array( [20,30,40,50] ) >>> b = arange( 4 ) >>> b array([0, 1, 2, 3]) >>> c = a-b >>> c array([20, 29, 38, 47]) >>> b**2 array([0, 1, 4, 9]) >>> 10*sin(a) array([ 9.12945251, -9.88031624, 7.4511316 , -2.62374854]) >>> a<35 array([True, True, False, False], dtype=bool)
|