一、什么是维度
需要几个维度描述一个空间
一维(x)
二维(x,y)
三维(x,y,z)
1.1 创建NumPy数组的多种方式
创建NumPy数组的多种方式
array: 将输入数据转换为ndarray,.推断dtype或显示指定
arange:类似内置函数range返回ndarray
zeros: 创建全0数组,可指定形状和dtype
ones: 创建全1数组,可指定形状和dtype
empty: 创建新数组,只分配内存空间、不填充任何值# one,empty zeros np.ones((2,5)) np.empty((1,2,3)) np.zeros(10)
![]()
![]()
1.2 转换NumPy数组的数据类型
- dtype :显示指定
- astype: 转换
# 创建数据类型浮点型
d3 = np.array([1,2,3,4,5],dtype=np.float64)
print(d3.dtype) # 识别数据类型
# 对ndarray进行类型转换
d4 = d3.astype(np.float64)
print(d4)
1.3 Numpy索引和切片
# 切片和索引
# 一维数组索引
d4 = np.array([1,2,3,4,5])
print(d4[3])
# 二维数组索引
d5 = np.arange(10).reshape(2,5)
print(d5[0,3])
# 三维数组索引
d6 = np.arange(30).reshape(2,3,5)
print(d6)
print(d6[0,1,1]) # 取6
# 二维数组切片
d7 = np.array([[1,2,3,4,5],[6,7,8,9,10]])
print(d7[0:1,:]) # 行参数 列参数 取第一行
# 三维数组切片
print(d6[0:1,2:,:]) # [[10 11 12 13 14]]
1.4 Numpy运算
1.4.4 算数运算
- add 加
- subtract 减
- multiply 乘
- divide 除
- 三角函数 : sin、cos、tan
- 算数运算
# 算数运算
a = np.random.random(10000)*10
b = np.random.random(10000)*10
# 既可以使用运算符,也可以使用np算数函数
print(a+b)
print(np.add(a,b))
# print(np.subtract(a-b)) # 减
print(np.multiply(a,b)) # 乘
print(np.divmod(a,b)) # 除
1.4.2 统计运算
- mean均值
- average 均值
- var 方差
- std 标准差
# 统计函数
c = np.array([1,2,3,4,5])
print(c.mean()) # 计算均值
print(np.average(c)) #
# 方差 数据样本数的离散程度
print(np.var(c))
# 标准差
print(np.std(c))
1.4.3 聚合运算
- sum 累加
- prod 累乘
- max 最大值
- min 最小值
- 统计运算
# 聚合函数
d = np.array([1,2,3,4,5])
print(np.prod(d)) # 累乘
print(np.max(d)) # 最大值
1.4.4 筛选与排序
- where 函数
- sort 函数
# 筛选和排序
e = np.array([1,2,3,4,5,6])
print(np.where(e>3)) # 返回的是索引
f = np.array([3,4,5,8,4,3])
print(np.sort(f))
1.5 Numpy矩阵运算
什么是矩阵
按照长方阵列排列(m行*n列)的数值集合
矩阵A: [200,300,400,500]
矩阵B:[6,9,3,1]
矩阵的运算规则
加法、减法、数乘运算
矩阵乘法
# 矩阵运算
g = np.arange(15).reshape(3,5)
h = np.arange(15,30).reshape(3,5)
i = np.array([9,8,7,6])
print(g+h)
# 数乘
print(3 * g)
# 转置
h = h.T
# 矩阵乘法
print(np.dot(g,h))