写在前面:为啥要用Numpy?
四个字概括Numpy的好处:又省又快
为什么省?
python的整型啊,列表啊,数组啊,就很不纯粹。
例如整型,它其实是一个指针,指向包含这个对象所有信息的某个内存位置,python整型结构体内还包含引用计数、变量类型编码、数据成员大小等其他信息,负担很大。
再比如说列表,python列表是动态的,可以混合存储多种数据类型,这种灵活便捷的特性导致需要额外的信息。
而Numpy的数组结构在内存中连续存储,且每个数组数据类型必须统一,减少了额外信息的负担。
为什么快?
Numpy的数组在内存中连续存储,这样加快了遍历速度。且这种存储方式使得Numpy可以使用现代CPU的矢量化指令计算,加载寄存器中的多个连续浮点数。此外Numpy的矩阵运算可以采用多线程的方式,大大提升计算效率。
创建数组
要使用numpy库,首先import numpy as np
常用方法总结
np.array() #从python列表创建数组
np.zeros() #创建值全为0的数组
np.ones() #创建值全为1的数组
np.full() #创建值全为指定值的数组
np.arange() #创建线性序列数组
np.linspace() #创建等差数列数组
np.random.random() #创建值服从0-1均匀分布的随机数组
np.random.normal() #创建值服从正态分布的随机数组
np.random.randint() #给定区间内创建值为整形的随机数组
np.eye() #创建单位矩阵
np.empty() #创建未初始化的整型数组
具体实例
np.array()
#从列表创建整形数组
a=np.array([0,1,2,3,4,5])
#数组中类型必须统一,否则将被强制向上转换(与第一个元素同类型)
b=np.array([<