郑州的建设网站有哪些手续,舞台灯光网站建设,个人网站的设计的现状,杭州专业做网站公司NumPy是Python中一个强大的库#xff0c;主要用于处理大型多维数组和矩阵的数学运算。处理数组翻转与变形是NumPy的常用功能。
1.对多维数组翻转
n np.random.randint(0,100,size(5,6))n# 执行结果array([[ 9, 48, 20, 85, 19, 93], [ 1, 63, 20, 25, 19, 44], … NumPy是Python中一个强大的库主要用于处理大型多维数组和矩阵的数学运算。处理数组翻转与变形是NumPy的常用功能。
1.对多维数组翻转
n np.random.randint(0,100,size(5,6))n# 执行结果array([[ 9, 48, 20, 85, 19, 93], [ 1, 63, 20, 25, 19, 44], [15, 70, 12, 58, 4, 11], [85, 51, 86, 28, 31, 27], [64, 15, 33, 97, 59, 56]]) # 行翻转n[::-1]# 执行结果array([[64, 15, 33, 97, 59, 56], [85, 51, 86, 28, 31, 27], [15, 70, 12, 58, 4, 11], [ 1, 63, 20, 25, 19, 44], [ 9, 48, 20, 85, 19, 93]]) # 列翻转相对于是对第二个维度做翻转n[:,::-1]# 执行结果array([[93, 19, 85, 20, 48, 9], [44, 19, 25, 20, 63, 1], [11, 4, 58, 12, 70, 15], [27, 31, 28, 86, 51, 85], [56, 59, 97, 33, 15, 64]])
2.把图片翻转 # 数据分析三剑客import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# python.png# 图片其实时数字组成的三维数组# RGB红Red绿Green蓝Blue# RGB范围0-255# plt.imread读取图片的数据pyimg plt.imread(python.png)pyimg# 显示原图plt.imshow(pyimg)# 行翻转上下翻转plt.imshow(pyimg[::-1])# 列翻转左右翻转plt.imshow(pyimg[:,::-1])# 对颜色翻转RGB BGRplt.imshow(pyimg[:,:,::-1])# 模糊处理plt.imshow(pyimg[::10,::10,::-1])
3.数组变形 使用reshape函数
# 创建一个20个元素的一维数组n np.arange(1,21)n# 执行结果array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])# 查看形状print(n.shape)# 执行结果(20,)# reshape将数组改变形状# 将n变成4行5列的二维数组n2 np.reshape(n,(4,5))print(n2)# 执行结果[[ 1 2 3 4 5] [ 6 7 8 9 10] [11 12 13 14 15] [16 17 18 19 20]] print(n2.shape)# 执行结果(4, 5) # 将n2变成5行4列的二维数组# n2.reshape(5,4)print(n2.reshape((5,4)))# 执行结果[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16] [17 18 19 20]]# 注意变形的过程中需要保持元素个数一致# n2.reshape((5,5)) # 20个元素变形成25个则报错# 还原成一维数组print(n2.reshape(20))# 执行结果[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]print(n2.reshape(-1))# 执行结果[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]# 使用-1表示任意剩余维度长度print(n2.reshape(4,-1))# 执行结果[[ 1 2 3 4 5] [ 6 7 8 9 10] [11 12 13 14 15] [16 17 18 19 20]] print(n2.reshape(5,-1))# 执行结果[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16] [17 18 19 20]] print(n2.reshape(-1,2))# 执行结果[[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12] [13 14] [15 16] [17 18] [19 20]] print(n2.reshape(-1,1))# 执行结果[[ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]]# 不能使用两个-1# print(n2.reshape(-1,-1))n2.reshape(2,-1,2)# 执行结果array([[[ 1, 2], [ 3, 4], [ 5, 6], [ 7, 8], [ 9, 10]], [[11, 12], [13, 14], [15, 16], [17, 18], [19, 20]]])