numpy: 数据分析处理数据的常见的库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
numpy官网 https://numpy.org/
优点:
- 运算速度快:numpy 都是采用 C 语言编写,
- 消耗资源少:采用的是矩阵运算,会比 python 自带的字典或者列表快好多
基本语法
几种 numpy 的属性:
- ndim:维度
- shape:行数和列数
- size:元素个数
import numpy as np
#列表转化为矩阵
array=np.array([[1,2,3],[2,3,4],[3,4,5]])
print(array.ndim)
print(array.shape)
print(array.size)
关键字:
array:创建数组
dtype:指定数据类型
zeros:创建数据全为0
ones:创建数据全为1
empty:创建数据接近0
arrange:按指定范围创建数据
linspace:创建线段
array1=np.array([[1,2],[3,2]])
array2=np.zeros((3,4)) # 数据全为0,3行4列
array3=np.ones((3,4)) # 数据全为1,3行4列
array4=np.arange(0,10,2)#0--9步长为2的数组
array5=np.arange(6).reshape((2,3))
array6=np.linspace(1,10,20)# 开始端1,结束端10,且分割成20个数据,生成线段
numpy 的几种基本运算
Numpy中具有很多的数学函数工具,比如三角函数等,当我们需要对矩阵中每一项元素进行函数运算时
array7=np.dot(array1,array1)#矩阵点乘
array8=np.sum(array1)#求和
array9=np.min(array1)#最小值
array10=np.max(aray2)#最大值
。
np.sum(array1,axis=1)# 当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元
argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引。相应的,在矩阵的12个元素中,最小值即2,对应索引0,最大值为13,对应索引为11。
np.argmax(array1)
np.argmin(array1)
np.mean(array1)#平均值
np.average(array1)#平均值
np.sort(array1)#每一行进行从小到大排序操作
array1.T#矩阵转置
np.transpose(array1)
Numpy 索引
a=np.array([1,2,3,4])
b=np.array([[1,2,3],[3,4,5]])
print(a[2])#一维索引
print(b[1][1])#二维索引
Numpy array 合并
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B))
D = np.hstack((A,B))
Numpy array 分割
注意分割要等量对分
A = np.arange(12).reshape((3, 4))
np.split(A,2,axis=1)#纵向分割
np.split(A,3,axis=0)#横向切割
Reference
莫烦python
https://mofanpy.com/tutorials/data-manipulation/np-pd/np-array/
菜鸟教程
https://www.runoob.com/numpy/numpy-tutorial.html
未完待续…