重生归来,我要成功 Python 高手--day23 numpy的内置函数,矩阵运算
·
内置函数:
# 生成一个标准正态分布的矩阵 arr1=np.random.randn(3,5) print(arr1)
向上取整:
np.ceil()
print(np.ceil(arr1))
向下取整:
np.floor()
print(np.floor(arr1))
四舍五入:
np.rint()
print(np.rint(arr1))
判断是否为空:
np.isnan()
print(np.isnan(arr1))
行和列要相同:
相乘:np.multiply(参数一,参数二)
print(np.multiply(arr1,arr1)) print(arr1*2)
相除:np.divide(参数一,参数二)
print(np.divide(arr1,arr1))
绝对值:
np.abs()
print(np.abs(arr1))
三元运算符:
np.where(条件,符合条件,不符合条件)
print(np.where(arr1>1,0,1))
统计函数:
# 创建一个矩阵 arr2=np.arange(1,13).reshape(3,4) print(arr2)
平均值:mean()
和:sum()
# 求和 print(np.sum(arr2)) # 按列求和 print(np.sum(arr2,axis=0)) # 按行求和 print(np.sum(arr2,axis=1))
最大值:max()
# 最大值 print(np.max(arr2))
# 列最大值 print(np.max(arr2,axis=0)) # 行最大值 print(np.max(arr2,axis=1))
最小值:min()
# 最小值 print(np.min(arr2))
标准差:std()
方差:var()
中位数:median()
最大值下标索引:argmax()
# 索引最大值 print(np.argmax(arr2))
最小值下标索引:argmin()
累加和:cumsum()
print(np.cumsum(arr2))
累乘:cumprod()
print(np.cumprod(arr2))
去重:unique()
# 去重函数 arr3=np.array([[1,2,1],[2,3,5]]) print(arr3.shape) print(arr3)
# 去重 arr4=np.unique(arr3) print(arr4) print(arr4.shape)
排序函数:sort()
arr5=np.array([11,33,22,55,66,24]) print(arr5) arr6=np.sort(arr5) print(arr6) arr5.sort() print(arr5)
变量,原内容不变
直接改变
排序默认是从小到大,可以通过反向索引的形式从大到小
# 反向索引 arr7=arr6[::-1] print(arr7)
索引:
[行起始:行结束, 列起始:列结束] 遵循左闭右开的原则
例如:
[2:3]为 第二行第三列的单个元素
[1:4,0:2]为 第一行到第三行,第0列到第一列
[:]为 全部内容
[1:3,:]为 第一行到第二行的所有列
[:,1]为 所有行和第一列元素
numpy矩阵运算
形状相同
# 形状相同的 arr1=np.array([[1,2,1],[2,3,5]]) arr2=np.array([[1,1,1],[2,3,5]]) # 加法 print(arr1+arr2) # 减法 print(arr1-arr2) # 乘法 print(arr1*arr2) print(np.multiply(arr1,arr2))
形状不同但是左矩阵的列数必须等于右矩阵的行数
# 形状不同 arr3=arr2.reshape(3,2) print(arr3) # 相乘 print(np.dot(arr1,arr3)) print(arr1@arr3)
更多推荐
所有评论(0)