numpy的使用
Posted kingofcattle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy的使用相关的知识,希望对你有一定的参考价值。
1.numpy的使用
创建numpy:
import numpy as np
第一种:np.array()创建
eg:np.array([1,2,3],[4,5,6]) # 创建了一个二维数组
数组与列表的差别:数组中的元素类型必须一致的,(如果不一致就会按照优先级进行转换:字符串 > 浮点型 > 整数)
怎么将图片转换成数组
图片为三维数组
import matplotlib.pyplot as plt
arr = plt.imread(‘图片.png‘) # 读取一个图片,相当于返回一个三维数组
img = plt.imshow(arr) # 相当于将三维数组进行展示
numpy中的一下方法
1.ones() 使用:ny.ones(shape = (3,4)) # 生成一个三行四列元素为1的数组
2.linspace() 使用:np.linspace(0,100,num=20) # 生成20个0-100的数组
3.arange() 使用:np.arange(0,100,step=2) # 生成一个0到100 每个数字相差2的数组
4.np.random.randint(0,100,size=(3,4)) # 生成随机生成一个元素范围在0-100整数的3行4列的数组
5.固定随机性 np.random.seed(30) np.random.randint(0,100,size=(3,4))
6.将数组维度改变:reshape() 使用:arr.reshape((2,6))将以为数组arr改为一个2行6列的二维数组(元素个数要一样)
numpy中常用的属性
1.shape #返回形状
2.ndim # 返回维度
3.size # 返回元素个数
4.dtype # 返回元素的类型 其中:array(dtype=类型):可以设定数据类型, arr.dtype = ‘类型‘:可以修改数据类型
numpy的切片:
和列表切片方式一样[:]
多维数组的切割方式:arr[1:3,1:3],利用这个就可以对图片裁剪
参数axis的理解:,axis=0表示按列,axis=1,表示按行
将多个numpy数组进行横向或者纵向的拼接
方法:np.concatenate(参数一,参数二) # 参数一为要拼接数组组成的元素构成的元组,参数二为axis
常用的聚合操作:
sum(),max(),min(),mean()
常用的数学函数:
sin()、cos()、tan()
numpy.around(a,decimals) 函数返回指定数字的四舍五入值。decimals表示舍去小数点的位数,可以为负数
numpy.ptp()最大值与最小值的差
numpy.median()中值
numpy.std() == sqrt(mean((x - x.mean())**2)) 标准差
numpy.var() == mean((x - x.mean())** 2) 方差
矩阵:
生成矩阵:numpy.matlib()
转置矩阵:arr.T
矩阵相乘:numpy.dot(a, b, out=None)
以上是关于numpy的使用的主要内容,如果未能解决你的问题,请参考以下文章
python使用numpy中的diagonal函数获取2D numpy数组的对角线元素使用numpy中的diagonal函数和sum函数获取2D numpy数组的迹(matrix trace)
与 numpy.eye 相比,使用 numpy.identity 有啥优势?
python使用numpy中的np.linalg.det函数计算2D numpy数组的行列式的值使用numpy中的np.linalg.inv函数计算2D numpy数组的逆矩阵
numpy使用np.concatenate函数将两个一维的numpy数组横向拼接起来(concatenate two 1D numpy arrays)