一、Numpy使用
1、numpy的简单使用
import numpy as np #利用as给numpy起一个别名np# 使用array来承接这个数组 array = np.array([[1,2,3],[2,3,4]])print(array) print("number of dim:", array.ndim) # ndim 数组维度 print("shape:", array.shape) # 数组的形状 print("size", array.size) # 数组的元素个数
打印结果如左图
2、 np.ones np.zeros empty
# 生成一个三行四列全为1的矩阵 a = np.ones((3, 4), dtype=np.int16) print("三行四列全为1:\n", a)#生成一个二行三列全为0的矩阵 b = np.zeros((2,3), dtype=float) print("二行三列全为0:\n", b)c = np.empty((3,4)) print("空矩阵:\n", c)#利用 dtype= 可以更改所存储元素类型
3、arange(左闭右开的有序数组)
开始 结束 步长
a = np.arange(10, 20, 2) print("从10开始到20,步长为2的有序数组:\n", a)# 若一个参数默认为该数组元素为10,且步长为1 b = np.arange(10) print("从0开始到10,步长为1的有序数组:\n", b)# 若俩个参数默认步长为1,从10-20 c = np.arange(10, 20) print("从10开始到20,步长为1的有序数组:\n", c)
4、生成线段
a = np.linspace(1, 10, 5) print("从1到10,分为5段:\n", a)
5、加和运算
a = np.array([10,20,30,40]) b = np.arange(4)print("数组a和数组b分别为:\n", a, b) c = a + b print("加和运算后的结果数组为:\n", c)
6、乘法运算
a = np.array([10,20,30,40]) b = np.arange(4)print("数组a和数组b分别为:\n", a, b) c = a * b print("运算后的结果数组为:\n", c)
7、乘方运算
b = np.arange(4) print("运算前数组:\n", b)c = b**2 注意此处的乘方用法print("运算后的结果数组为:\n", c)
8、三角函数
b = np.arange(4) print("运算前数组:\n", b)c = np.sin(b) print("运算后的结果数组为:\n", c)c = np.cos(b) print("运算后的结果数组为:\n", c)c = np.tan(b) print("运算后的结果数组为:\n", c)
其他反三角函数
9、判断结果筛选(< == >)
array = np.array([[1,2,3],[2,3,4]]) print("该数组为:\n", array) print("该数组中元素大于2的位置情况:\n", array > 2) print("该数组中元素等于3的位置情况:\n", array == 3) print("该数组中元素小于2的情况:\n", array < 2)
10、矩阵相乘
a = np.array([[1,2],[2,3]]) b = np.arange(4).reshape((2,2)) print("a数组为:\n", a) print("b数组为:\n", b) c = a*b c_dot = np.dot(a,b) 另外一种写法: a.dot(b)print("对应位置相乘结果:\n", c) print("线性代数矩阵运算相乘结果:\n", c_dot)
11、随机数组,min,max,sum
# 生成一个两行三列的随机数数组 a = np.random.random((2,3))print("生成的该随机数组为:\n", a) print("该数组中元素总和为:\n", np.sum(a)) print("该数组中元素最小值为:\n", np.min(a)) print("该数组中元素最大值为:\n", np.max(a))