一. 第一神器numpy库
1.1 np.random.randint(low, high=None, size=None, dtype='l')
np.random.randint(low=0, high=10, size=(3,4,5), dtype='l')
- 作用:生成一个自定义维度随机数数组
low指定起始(下界)
high指定结束(上界)
size指定数组形状(维度)
dtype指定数据类型
1.2 np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
np.array([1,2.0,'3'])
- 作用:生成一维数组
object对象(列表)
dtype指定数据类型
说明:创建的数组,内部数据类型相同;优先级:str > float > int
1.3 np.ones | zeros(shape, dtype=None, order='C')
np.ones(shape=(3,3),dtype=np.int)
np.zeros(shape=(3,1,1))
- 作用:生成自定义维度数组,用1 | 0填充
shape指定数组形状
dtype指定数据类型
1.4 np.full(shape, fill_value, dtype=None, order='C')
np.full(shape=(2,3),fill_value=2)
- 作用:生成自定义维度数组,自定义填充内容
shape指定数组形状
fill_value指定填充内容
dtype指定数据类型
1.5 np.eye(N, M=None, k=0, dtype=<class 'float'>)
np.eye(N=3,M=4,k=1)
- 作用:生成方阵
N指定方阵多少行
M指定方阵多少列,默认N
k指定从索引开始填充1
说明:主对角线为1,其余0填充
1.6 np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
np.linspace(start=1,stop=10,endpoint=False,num=5)
- 说明:生成等差数组
start指定开始
stop指定结束
num指定平分多少份
endpoint指定是否包含结束的数字,默认包含
1.7 np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
np.logspace(start=1,stop=10,endpoint=False,num=5,base=2)
- 说明:生成指定基数的指数(等差数组)
start指定开始
stop指定结束
num指定平分多少份
endpoint指定是否包含结束的数字,默认包含
base指定基数
1.8 arange([start,] stop[, step,], dtype=None)
np.arange(1,10,2)
- 作用:生成指定一维数组
start指定开始
stop指定结束
1.9 np.random.randn(d0, d1, ..., dn)
np.random.randn(3,2,3)
- 作用:创建传入参数个数维的数组,0为中心,标准差为1的随机数填充
1.10 np.random.normal(loc=0.0, scale=1.0, size=None)
np.random.normal(loc=175,scale=10,size=(10,4))
- 作用:创建自定义多维数组
loc指定正态分布中心
scale指定标准差
size指定形状
1.11 np.random.random(size=None)
np.random.random(size=(2,3,2))
- 作用:创建多维随机数组
size指定形状
1.12 np.meshgrid(x,y)
- 作用:生成一个二维数组,x列y行,类似一个平面
x指定一个一维数组
y指定一个以为是数组
1.13 np.random.seed(0)
种子,使得随机数只能随机一次
1.14 np.argwhere(value)
np.argwhere(levels=='data')
- 作用:找出value的位置
2. 属性
ndim返回维度
shape各维度长度
size总长度
dtype元素类型
3. 基本操作
3.1 索引
- 一维与列表相同
- 多维类似
- nd[-1][-1]
3.2 高级索引
需求:二维数组的最后一个数组的1,3,5的值
nd[-1,[1,3,5]]
3.3 切片
一维与列表相同
多维类似
nd[1:4]
3.5高级切片
需求:二维数组的0~2列
nd[:,0:2]
需求:二维数组翻转
nd[:,::-2]
3.6变形
参数是一个元祖,size不变,只是形状变了
nd.reshape((4,3))
3.7 连接
作用:连接多个数组
np.concatenate((a1, a2, ...), axis=0)
np.concatenate((nd,nd),axis=0)
np.concatenate((nd,nd),axis=1)
连结需要注意的点:
- 连结的参数是列表:一定要加小括号
- 必须 维度相同 形状相符
- 连结的方向默认是shape这个tuple的第一个值所代表的维度方向
- 可通过axis参数改变连结的方向
3.8 切片
np.split(ary, indices_or_sections, axis=0)
np.split(nd,[2,4],axis=0)
np.vsplit(ary, indices_or_sections)
np.hsplit(ary, indices_or_sections)
- indices_or_sections 用来指定要切分成几部分 或者在哪里切分
- ary 指定是 要进行切分的数组
- axis 用来指定对哪个轴线进行切分 默认值是0
4. 运算操作
sum
- 求和,如果有nan,和为nan;如果有None,会报错
网友评论