Numpy官方文档:https://docs.scipy.org/doc/numpy/user/quickstart.html
Numpy是Python的一种开源的数值计算扩展,这种工具可以用来存储和处理大型矩阵,比Python自身的嵌套列表结构高效的多。
Numpy的主要对象是同构多维数组(ndarray),它是一个元素表,所有元素都是相同的数据类型,由正整数元组索引。
下面列举一些ndarray常用的属性(以多维数组对象text_ndarray = [[1, 2, 3], [3, 4, 5]]为例):
ndarray.ndim:数组的轴数(数组的维数);例如:text_ndarray.ndim = 2
ndarray.shape:数组的大小,这是一个整数元组,表示每个维度中数组的大小;例如:text_ndarray.shape = (2,3)
ndarray.dtype:描述数组中元素类型的对象;例如:text_ndarray.dtype = int32
ndarray.itemsize:数组中每个元素的大小(以字节为单位);例如:text_ndarray.itemsize = 4
ndarray.data:包含数组实际元素的缓冲区。通常我们不需要使用此属性,因为我们将使用索引工具访问数组中的元素
下面是一些创建数组的方法:
1、使用array函数从常规Python列表或者元组创建数组(结果数组的类型是从序列中元素的类型推导出来的):
import numpy as np
a = np.array([2, 3, 4])
经常出现的错误在于array使用多个数字参数调用,而不是提供单个数字列表作为参数:
a = np.array(1, 2, 3, 4) # wrong
a = np.array([1, 2, 3, 4]) # right
2、使用函数zeros创建一个所有元素都是0的数组;使用函数ones创建一个所有元素都是1的数组;使用函数empty创建一个其初始元素随机的数组(根据内存的状态)&&(也可以指定所创建数组元素的类型):
a = np.zeros((3, 4))
b = np.ones((2, 3, 4), dtype=np.int16)
c = np.empty((2, 3))
3、用arrange方法(arrange(start,end,step),不包含end):
np.arrange(10, 30, 5)
# 返回数组:[10, 15, 20, 25]
np.arrange(0, 2, 0.3)
# 返回数组:[0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8]
当arrange与浮点参数一起使用时,由于有限的浮点精度,通常无法获得预测获得的元素数量,因此介绍下面linspace方法
4、用linspace方法:
np.linspace(0, 2, 9) # 从0到2的九个数字
# 返回值为:[0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]