python入门1-环境准备
python入门2-变量、语句、运算符、列表、元组、字典
python入门3-函数
python入门4-面向对象
python入门5-numpy
python入门6-pandas
import numpy as np
numpy的数据结构 Ndarray
一、创建
1、从list创建
list = [1,2,3]
a = np.array(list)
2、特定数组
np.ones((2,3))
np.random.randn((2,3))
np.arange(10) # [0,1,2....9]
np.linspace(0,2,5) #创建0-2之间等间距的5个数字 array([0. , 0.5, 1. , 1.5, 2. ])
3、对角矩阵
a = np.diag([1,2,3]) # 对角线是1,2,3
np.diag(a) # 取出对角线上的元素,为list
二、属性
1、维度
np.ones((4,2,4)).ndim # 3
2、形状
np.ones((4,2,4)).shape # (4,2,4)
3、元素个数统计
np.ones((4,2,4)).size # 32
4、元素类型
np.ones((4,2,4)).dtype # float63
三、索引
b = np.arange(10) # [0,1,2....9]
b[4] # 4
四、切片
b[[3,5,7]] # 取下标为3,5,7的元素
b[:4] # 前4个元素
b[4:] # 从第5个元素到最后的元素
b[b>5] # 选出大于5的元素
五、运算
1、加/减法
np.add(a,b)
np.subtract(a,b)
2、乘/除法
np.multiply(a,b)
np.divide(a,b)
3、次方、开根号、指数、求和
np.power(a,2)
np.sqrt(a)
exp
np.sum(a) # 所有元素求和
np.sum(a,axis=1) # 每一行单独求和
4、点乘(矩阵乘法)
a.dot(b)
5、最大/小值
a.max()
六、广播
两个数组维度不同,可以通过广播的方式,实现形状不同的数组操作,较小的数组会广播到较大数组,可以提升运算效率
如果a是4行3列,b是1行3列
a+b = a的每一行都+b
a+1 = a的每个元素+1