numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关

1.数组变形reshape

  • 多维变一维
import numpy as np
arr=np.ones((5,6),int)
arr

该数组是5行6列的数组:
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]])

a=arr.reshape((30,)) #二维变一维
a

输出:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

  • 一维变多维
a.reshape((6,5))#一维变多维

输出:
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])

2.级联操作concatenate函数

1.级联操作的概念

将多个numpy数组进行横向或者纵向的拼接;使用concatenate((a1, a2, …), axis=0)函数。

  • a1,a2…是拼接的数组
  • axis是拼接的方向,axis=0是纵向拼接,axis=1是横向拼接;拼接的数组维度应该相同
np.concatenate((arr,arr),axis=0) #纵向拼接
np.concatenate((arr,arr),axis=1) #横向拼接

在这里插入图片描述

2.级联操作的应用

-图片的拼接

import matplotlib.pyplot as plt
arr1=plt.imread('./1.jpg')
arr2=np.concatenate((arr1,arr1,arr1,arr1),axis=1)
plt.imshow(arr2)
plt.show()

在这里插入图片描述

3.聚合操作sum,max,min,mean

arr.sum()       #求数组中所有数的和
arr.sum(axis=0)       #求每列的和
arr.sum(axis=1)       #求每行的和

在这里插入图片描述

4.常用的数学函数

  • numpy提供了标准的三角函数:sin()、cos()、tan()
  • numpy.around(a,decimals)函数返回指定数字的四舍五入值(a是数组,decimals是舍入的小数位数)
np.sin(arr)        #对数组每个数求sin
np.around(3.84)   #四舍五入结果为4.0
np.around(3.84,1)  #结果为3.8
  • 常用的统计函数
    1.numpy.ptp():计算数组中元素最大值与最小值的差(最大值-最小值)
    2.numpy.median():用于计算数组中的中位数
    3.标准差std():标准差是一组数据平均分散程度的一种度量
    在这里插入图片描述
    4.方差var():标准差是方差的平方根

5.矩阵相关

1.矩阵的转置:arr.T
2.矩阵乘法:np.dot(arr,arr)

arr_t=np.array([[1,3,2,1,3],[1,8,9,8,7],[6,7,8,4,5],[2,3,6,7,8],[2,6,4,7,3]])
print(arr_t)
print("转置后:")
print(arr_t.T)
print("矩阵相乘后:")
print(np.dot(arr_t,arr_t))

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值