numpy系列之数组重塑的实现

目录
  • 1.数组重塑
    • 1.1 一维数组重塑
    • 1.2 多维数组重塑
  • 2.数组转置

1.数组重塑

所谓数组重塑就是更改数组的形状。比如将原来3行4列的数组重塑成4行3列的数组。在numpy中用reshape方法来实现数组重塑

1.1 一维数组重塑

一维数组重塑就是将数组从一行或一列数组重塑为多行多列的数组。

先创建一个一维数组

import numpy as np
​arr = np.arange(8)
print(arr)

result:
[0 1 2 3 4 5 6 7]

上面的这个数组既可以转换为2行4列的多维数组, 也可以转换为4行2列的多维数组

1.1.1 将数组重塑为2行4列的多维数组

print(arr.reshape(2, 4))

result:
[[0 1 2 3]
 [4 5 6 7]]

1.1.2 将数组重塑为4行2列的多维数组

print(arr.reshape(4, 2))

result:
[[0 1]
 [2 3]
 [4 5]
 [6 7]]

注:无论2行4列还是4行2列,只要重塑后数组中的值的个数等于重塑前一维数组中的值的个数即可。

1.2 多维数组重塑

先创建一个多维数组

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
print(arr)

result:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

同样地,上面的这个数组既可以转换为3行4列的多维数组, 也可以转换为2行6列的多维数组

1.2.1 将数组重塑为3行4列的多维数组

print(arr.reshape(3, 4))

result:
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

1.2.2 将数组重塑为2行6列的多维数组

print(arr.reshape(2, 6))

result:
[[ 1  2  3  4  5  6]
 [ 7  8  9 10 11 12]]

注:我们同样可以将4行3列的多维数组重塑为3行4列或者2行6列的多维数组,只要重塑后数组中的值的个数等于重塑前一维数组中的值的个数即可。

2.数组转置

数组转置就是将数组的行旋转为列,用到的方法是.T。这里可以将转置看做是一种特殊的重塑。

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
print(arr)

result:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

print(arr.T)

result:
[[ 1  4  7 10]
 [ 2  5  8 11]
 [ 3  6  9 12]]

到此这篇关于numpy系列之数组重塑的实现的文章就介绍到这了,更多相关numpy 数组重塑内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详谈Numpy中数组重塑、合并与拆分方法

    1.数组重塑 1.1一维数组转变成二维数组 通过reshape( )函数即可实现,假设data是numpy.array类型的一维数组array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),现将其转变为2行5列的二维数组,代码如下: data.reshape((2,5)) 作为参数的形状的其中一维可以是-1,它表示该维度的大小由数据本身推断而来,因此上面代码等价于: data.reshape((2,-1)) 1.2二维数组转换成一维数组 将多维数组转换成一维数组的运算通常称为扁

  • numpy系列之数组重塑的实现

    目录 1.数组重塑 1.1 一维数组重塑 1.2 多维数组重塑 2.数组转置 1.数组重塑 所谓数组重塑就是更改数组的形状.比如将原来3行4列的数组重塑成4行3列的数组.在numpy中用reshape方法来实现数组重塑 1.1 一维数组重塑 一维数组重塑就是将数组从一行或一列数组重塑为多行多列的数组. 先创建一个一维数组 import numpy as np ​arr = np.arange(8) print(arr) result: [0 1 2 3 4 5 6 7] 上面的这个数组既可以转换

  • numpy系列之数组合并(横向和纵向)

    目录 1.横向合并 1.1 concatenate方法 1.2 hstack方法 1.3 column_stack方法 2.纵向合并 2.1 concatenate方法 2.2 vstack方法 2.3 row_stack方法 先新建两个数组用于合并 import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) print(arr1) result: [[1 2 3]  [4 5 6]] arr2 = np.array([[7, 8, 9]

  • Python NumPy教程之数组的创建详解

    目录 使用 List 创建数组 使用数组函数创建数组 使用 numpy 方法创建数组 重塑数组 展平数组 在 Numpy 中创建数组的方法 使用 List 创建数组 数组用于在一个变量中存储多个值.Python 没有对数组的内置支持,但可以使用 Python 列表代替. 例子 : arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"] # 用于创建数组的 Python 程序 # 使用列表创建数

  • Python NumPy教程之数组的基本操作详解

    目录 Numpy中的N维数组(ndarray) 数组创建 数组索引 基本操作 数据类型 Numpy中的N维数组(ndarray) Numpy 中的数组是一个元素表(通常是数字),所有元素类型相同,由正整数元组索引.在 Numpy 中,数组的维数称为数组的秩.给出数组沿每个维的大小的整数元组称为数组的形状.Numpy 中的数组类称为ndarray.Numpy 数组中的元素可以使用方括号访问,并且可以使用嵌套的 Python 列表进行初始化. 例子 : [[ 1, 2, 3], [ 4, 2, 5]

  • numpy自动生成数组详解

    1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终值. >>> np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.arange(0,1,0.1) array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) >>> 2 np.linspace

  • Numpy掩码式数组详解

    数据很大形况下是凌乱的,并且含有空白的或者无法处理的字符,掩码式数组可以很好的忽略残缺的或者是无效的数据点.掩码式数组由一个正常数组与一个布尔式数组组成,若布尔数组中为Ture,则表示正常数组中对应下标的值无效,反之False表示对应正常数组的值有效. 创建方法为,首先创建一个布尔型数组,然后通过numpy.ma子程序包提供的函数来创建掩码式数组,掩码式数组提供了各种所需函数. 创建实例如下: import numpy as np origin = np.arange(16).reshape(4

  • 详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

    Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的

  • 对numpy中的数组条件筛选功能详解

    在程序设计中,时常会遇到数据的唯一化.相同.相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能. 1,唯一化的实现: In [63]: data = np.array(['int','float','int','boolean','double','boolean']) In [64]: data Out[64]: array(['int', 'float', 'int', 'boolean', 'double', 'boolean'], dtype='|

  • Python使用numpy模块创建数组操作示例

    本文实例讲述了Python使用numpy模块创建数组操作.分享给大家供大家参考,具体如下: 创建数组 创建ndarray 创建数组最简单的方法就是使用array函数.它接收一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的Numpy数组. array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3, 4]) ndarray2 = np.array(list('abcdefg')) ndarray3 = np.array([

随机推荐