2021.11.22
今天我们来学习一下numpy 模块变形的操作
numpy reshape
那么我们先创建一个变形的数组
Import numpy as np
arr = np.random.randint(1,100,size=(5,6))
(如果这个操作不理解可以翻看我前面的博客)
这个操作创创建的是一个 1-100 5 行6 列的随机数组
是一个二维数组
那么我们可不可以将这个二维数组变成一维的数组呢,那么又是怎么样一个思路呢?
那么这就涉及到了变形以后原始数据的存放。
原始的数组是一个5行6列的二维数组,总共有30 个数据元素。如果将它放到一维数组里,那么这个一维数组就得有相应的 30 个元素位来盛放这个二维数组。
那我们来试试看
arr.reshape((30,))
30 是有30个元素位
变形以后的一维数组
array([ 6, 14, 34, 23, 3, 60, 45, 50, 57, 41, 80, 37, 39, 72, 75, 32, 8,
38, 74, 64, 80, 67, 95, 69, 24, 33, 31, 13, 83, 26])
那么提供31个元素位可以么
arr.reshape((31,))
结果会报错,是不行的,只能对应相应的元素位来存放
那么可不可以将一维的数组重新变形成多维的呢?
我们来试一下
arr_1 = arr.reshape((30,))
将生成的一维数组重新存放成一个数组“arr_1”
arr_1.reshape((2,15))
将数组存放成一个2行15列的多维数组
array([[ 6, 14, 34, 23, 3, 60, 45, 50, 57, 41, 80, 37, 39, 72, 75],
[32, 8,