科学计算之Numpy

Numpy使用
numpy.array对象
  1. 对象创建
创建功能返回值
numpy.array()将list、range、tuple等对象转换为numpy.array数组numpy.array对象
numpy.zeros()创建元素全为0的numpy.array数组numpy.array对象
numpy.ones()创建元素全为1的numpy.array数组numpy.array对象
numpy.eye()创建对角元素全为1的numpy.array数组numpy.array对象
numpy.empty()创建一个空的numpy.array数组numpy.array对象
numpy.arange()类似于range(),创建指定范围的numpy.array数组numpy.array对象
numpy.linspace()创建指定范围的指定元素个数的numpy.array数组(一维)numpy.array对象
numpy.random.random()创建由0-1之间的随机数构成的numpy.array数组numpy.array对象
  1. 对象属性
属性功能返回值类型
ndim获取数组维度整数
shape获取数组形状元组
size获取数组元素个数整数
dtype获取数组元素类型numpy.dtype类型对象
T矩阵转置numpy.array类型对象
flat类似于flatten()方法,返回可将数组像一维数组一样进行迭代的迭代器迭代器对象
  1. 对象方法
方法功能返回值类型
reshape()改变数组形状到指定shape返回对原对象的引用
dot()矩阵乘法numpy.array类型对象
flatten()将数组压缩到一维numpy.array对象
  1. 支持的基本运算
运算功能返回值
+、-、*、/、//、%算术运算:按元素进行numpy.array对象
> 、>=、<、<=、==关系运算:按元素进行numpy.array对象
numpy.sin()/cos()/tan()等三角函数:按元素进行numpy.array对象
numpy.dot()计算矩阵乘法numpy.array对象
numpy.argmin()/argmax()返回数组最小值/最大值的在所有元素中位置,与维度无关整数
numpy.min()/max()返回数组最小值/最大值,可分行(axis=1)和列(axis=0)进行-
numpy.sum()对数组元素求和,可分行(axis=1)和列(axis=0)进行-
numpy.cumsum()对数组元素进行累加求和,可分行(axis=1)和列(axis=0)进行-
numpy.diff()求后一个元素与前一个元素的差值-
numpy.mean()/average()求数组元素的平均值,可分行(axis=1)和列(axis=0)进行-
numpy.median()求数组的中位数 ,可分行(axis=1)和列(axis=0)进行-
numpy.nonzero()返回非零元素的索引-
numpy.sort()对数组元素进行排序 ,可分行(axis=1)和列(axis=0)进行-
numpy.transpose()矩阵转置-
numpy.clip()将数组元素值截断到指定范围-
  1. 索引
方式功能
a[row][col]、a[row,col]索引位与row行col列的元素
a[:,col]索引位于col列的全部元素
a[row]、a[row,:]索引位于row行的所有元素
a[row,col1:col2]索引位于row行的col1列到col2列(不包含col2列)的元素
a[[row1,row2,…],[col1,col2,…]]索引(row1,col1),(row2,col2),…位置的元素
a[row1:row2,col1:col2]索引位于row1行到row2行(不包含row2行)的col1列到col2列(不包含col2列)的元素
a[条件表达式](条件表达式返回的布尔矩阵shape必须等于a.shape)索引布尔值为True的元素
for row in A对数组的行进行迭代
for col in A.T对数组的列进行迭代
  1. 合并与分割
函数功能
numpy.vstack()/hstack()按垂直(水平)方向合并多个数组
numpy.concatenate()可通过axis=0(垂直)/1(水平)设置合并方向
numpy.newaxis为数组增加一个维度a[:,np.newaxis]/a[np.newaxis,:]在列(行)上增加一个维度
numpy.split()将数组分割为指定的块数,可通过axis=0(纵向)/1(横向)指定方向,只能进行等大小分割
numpy.array_split()功能类似split(),但可进行不等大小分割
numpy.vsplit()/hsplit()按垂直(水平)方向将数组分割为指定块数
  1. 拷贝
    a = numpy.array([1,2,3])
    b = a 浅拷贝,b is a = True,对a、b的操作会相互影响
    b = a.copy 深拷贝 b is a = False ,a、b独立,相互之间没有影响
统计
import numpy
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>) # 沿指定轴计算算术平均
numpy.average(a, axis=None, weights=None, returned=False)  # 沿指定轴计算加权平均,不指定weights参数,功能与mean相同
随机数生成
import numpy
numpy.random.seed(0)  # 设置随机数种子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值