1.numpy库安装导入
windows下和linux下都可以使用pip安装,安装之前最好把pip升级到最新版
python -m pip install --upgrade pip
pip install numpy
import numpy as py
2.常用方法介绍
方法 | 说明 |
---|
np.ndim() | 查看维度N |
np.dtype() | 查看数据的类型 |
np.size() | 统计数组中所有元素的个数 |
np.itemsize() | 查看元组中分配给元素的字节数 |
np.shape() | 查看数组的维度(x,y,z) |
方法 | 说明 |
---|
np.ones() | 创建全为1的数组 |
np.zeros() | 创建全为0的数组 |
np.diag([1,2,3]) | 创建对角线不为1的数组,对角的类型是列表中数据的类型 |
np.eye() | 创建对角线为1的数组,对角类型是float型,只对二维数组有效 |
np.full() | 创建为自定义数的数组 |
np.empty() | 创建随机的数组 |
np.random() | 创建随机的数组(单独一个随机模组) |
方法 | 说明 |
---|
np.resize() | 改变数组的维度,改变覆盖原来的数据 |
np.reshape() | 改变数组维度, 不改变原数据 |
arr[x][y][…] | 多维数组根据索引取值 |
arr[x:y,a:b] | 多维数组范围切片取值,第一个:的范围为第一个维度的索引范围,后面依次 |
arr[arr>n] | 多维int数组可以使用比较值取值>,<,<=,>=,&,… |
np.swapaxes() | 用于两个维度之间互换 |
np.T | 用于两个维度之间互换 |
np.where(arr>0) | 根据条件输出符合元素的索引位置 |
np.ravel() | 把多维数组拉平到一维 |
np.transpose() | 维度变换 |
np.stack((arr1,arr2),axis=0/1) | 合并数组(可以增加维度) |
np.concatenate((arr1,arr2),axis=0/1) | 合并数组(不会增加维度) |
np.stack(arr1,axis=0/1/2) | 单个3维数组的x,y,z轴变换 |
np.concatenate(arr1,axis=0/1) | 单个3维数组的减维操作(x,y*z) |
方法 | 说明 |
---|
np.add() | 加法 |
np.subtract() | 减法 |
np.multiply() | 乘法 |
np.divide() | 除法 |
乘方: | ** |
np.sqrt() | 开方 |
np.sum() | 求和 |
np.mean() | 完成不了加权 |
np.average() | 求平均数,可以加权值 |
np.mean() | 均值 |
np.median() | 位于中间的值,如果是偶数个元素取中间的2个元素的均值 |
np.binconut(arr) | 众数(生成一个全是0的列表,统计arr中的整数出现的次数展示在对应的位置) |
np.var() | 方差 |
np.std() | 标准准差 |
np.ptp() | 极差 |
np.max() | 最大值 |
np.min() | 最小值 |
np.std()/np.mean() | 变异系数 |
3.常用方法实例演示介绍
list1=[1,2,3,4,5,6,7,7]
arr=numpy.array(list1)
arr
array([1, 2, 3, 4, 5, 6, 7, 7])
arr.ndim
1
arr.size
8
arr.dtype
dtype('int64')
arr.itemsize
8
arr.share
(8,)
arr1=numpy.ones((6,8))
arr1
array([[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.]])
arr2=numpy.zeros((5,7))
arr2
array([[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.]])
arr3=numpy.full((5,6),10.0)
arr3
array([[10., 10., 10., 10., 10., 10.],
[10., 10., 10., 10., 10., 10.],
[10., 10., 10., 10., 10., 10.],
[10., 10., 10., 10., 10., 10.],
[10., 10., 10., 10., 10., 10.]])
arr4=numpy.eye(6,6)
arr4
array([[1., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 0.],
[0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 1., 0.],
[0., 0., 0., 0., 0., 1.]])
arr5=numpy.diag([2,3,4,5,6,7])
arr5
array([[2, 0, 0, 0, 0, 0],
[0, 3, 0, 0, 0, 0],
[0, 0, 4, 0, 0, 0],
[0, 0, 0, 5, 0, 0],
[0, 0, 0, 0, 6, 0],
[0, 0, 0, 0, 0, 7]])
arr6=numpy.empty((4,6))
arr6
array([[6.92755646e-310, 1.29428836e-316, 6.92755663e-310,
6.92751722e-310, 6.92755660e-310, 6.92751722e-310],
[6.92755663e-310, 6.92751721e-310, 6.92755660e-310,
6.92751722e-310, 6.92755663e-310, 6.92754709e-310],
[6.92755660e-310, 6.92751722e-310, 6.92755663e-310,
6.92751721e-310, 6.92755660e-310, 6.92751721e-310],
[6.92755663e-310, 6.92751722e-310, 6.92755660e-310,
6.92751722e-310, 6.92755663e-310, 6.92751721e-310]])
arr7=numpy.arange(16)
arr8=numpy.arange(1,15,2)
arr7
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
arr8
array([ 1, 3, 5, 7, 9, 11, 13])
arr9=numpy.random.random((4,5))
arr9
array([[0.39014415, 0.15930384, 0.43981111, 0.4446235 , 0.33089513],
[0.90241201, 0.17567062, 0.6859736 , 0.04801726, 0.48778257],
[0.27235488, 0.6822986 , 0.73828909, 0.59851984, 0.25168036],
[0.97223342, 0.02086877, 0.62417176, 0.74923146, 0.07491146]])
arr10=numpy.random.randn(3,4)
arr10
array([[-0.38146578, -0.56418392, 0.08646721, 0.01721312],
[ 1.41631843, 1.21317236, 0.26394517, 0.5338062 ],
[ 0.59309482, 1.56757917, -1.69842502, 1.17045788]])
arr11=numpy.random.randint(10,100,5)
arr11
array([47, 22, 97, 53, 96])
arr12 = numpy.arange(1,13)
arr12
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
arr12.resize(3,4)
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
arr12.reshape(2,6)
array([[ 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12]])
arr12
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
arr12[0][2]
arr12
3
arr12[1:,2:-1]
arr12
array([[ 7],
[11]])
arr12[arr12>6]
arr12
array([ 7,8, 9, 10, 11, 12])
arr12[(arr12>2) & (arr12<7)]
arr12
array([3, 4, 5, 6])
arr12[(arr12<2)| (arr12>7)]
arr12
array([ 1, 8, 9, 10, 11, 12])
arr13=numpy.arange(16).reshape(4,4)
arr13
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
arr13.transpose(1,0)
array([[ 0, 4, 8, 12],
[ 1, 5, 9, 13],
[ 2, 6, 10, 14],
[ 3, 7, 11, 15]])
arr12.T
array([[ 0, 4, 8, 12],
[ 1, 5, 9, 13],
[ 2, 6, 10, 14],
[ 3, 7, 11, 15]])
arr12.swapaxes(1,0)
array([[ 0, 4, 8, 12],
[ 1, 5, 9, 13],
[ 2, 6, 10, 14],
[ 3, 7, 11, 15]])
arr14 = numpy.arange(9).reshape(3,3)
arr15 = arr2=numpy.arange(9,18).reshape(3,3)
arr14
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
arr15
array([[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]])
np.stack((arr14,arr15),axis=0)
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]]])
np.stack((arr14,arr15),axis=1)
array([[[ 0, 1, 2],
[ 9, 10, 11]],
[[ 3, 4, 5],
[12, 13, 14]],
[[ 6, 7, 8],
[15, 16, 17]]])
np.concatenate((arr14,arr15),axis=0)
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]])
np.concatenate((arr14,arr15),axis=1)
array([[ 0, 1, 2, 9, 10, 11],
[ 3, 4, 5, 12, 13, 14],
[ 6, 7, 8, 15, 16, 17]])
arr16 = np.arange(16).reshape(2,2,4)
arr16
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
np.stack(arr16,axis=1)
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
np.stack(arr16,axis=2)
array([[[ 0, 8],
[ 1, 9],
[ 2, 10],
[ 3, 11]],
[[ 4, 12],
[ 5, 13],
[ 6, 14],
[ 7, 15]]])
np.concatenate(arr16, axis=1)
array([[ 0, 1, 2, 3, 8, 9, 10, 11],
[ 4, 5, 6, 7, 12, 13, 14, 15]])
arr17 = np.array([5,5,5,8,8,9,10])
np.bincount(arr17)
array([0, 0, 0, 0, 0, 3, 0, 0, 2, 1, 1], dtype=int64)
np.argmax(np.bincount(arr17))
5