NumPy numpy.ravel()的使用

NumPy numpy.ravel()的使用

Python的numpy模块提供了一个名为numpy.ravel的函数,用于将2维数组或多维数组转换为一个连续的扁平化数组。返回的数组与源数组或输入数组具有相同的数据类型。如果输入数组是一个掩码数组,返回的数组也将是一个掩码数组。

语法

numpy.ravel(x, order='C')

参数

x: 类似数组

这个参数定义了我们想要转换成连续平坦数组的输入数组。数组元素按照order参数指定的顺序读取,并打包为一个一维数组。

order: {‘C’,’F’, ‘A’, ‘K’}(可选)

如果将order参数设置为’C’,则意味着数组以行优先的顺序被平坦化。如果设置为’F’,则数组以列优先的顺序被平坦化。只有在’A’是Fortran连续存储时,将数组以列优先的顺序被平坦化,并且将order参数设置为’A’时,才会发生。最后一个order值是’K’,它按照元素在内存中出现的顺序将数组平坦化。默认情况下,该参数设置为’C’。

返回

这个函数返回一个连续的平坦数组,其数据类型与输入数组相同,形状为 ( x.size )。

示例1

import numpy as np
x = np.array([[1, 3, 5], [11, 35, 56]])
y=np.ravel(x)
y

输出:

array([ 1,  3,  5, 11, 35, 56])

在上面的代码中

  • 我们使用别名np导入了numpy库。
  • 我们使用np.array()函数创建了一个数组 ‘x’
  • 我们声明了变量y并赋值为np.ravel()函数的返回值。
  • 我们将数组 ‘x’ 传递给函数。
  • 最后,我们尝试打印变量 y 的值。

输出结果中,数组的值以一个连续的平坦数组的形式显示。

示例2

import numpy as np
x = np.array([[1, 3, 5], [11, 35, 56]])
y = np.ravel(x, order='F')
z = np.ravel(x, order='C')
p = np.ravel(x, order='A')
q = np.ravel(x, order='K')
y
z
p
q

输出:

array([ 1, 11,  3, 35,  5, 56])
array([ 1,  3,  5, 11, 35, 56])
array([ 1,  3,  5, 11, 35, 56])
array([ 1,  3,  5, 11, 35, 56])

示例3

import numpy as np
x = np.arange(12).reshape(3,2,2).swapaxes(1,2)
x
y=np.ravel(a, order='C')
y
z=np.ravel(a, order='K')
z
q=np.ravel(a, order='A')
q

输出:

array([[[ 0,  2],
            [ 1,  3]],

        [[ 4,  6],
            [ 5,  7]],

        [[ 8, 10],
            [ 9, 11]]])
array([ 0,  2,  1,  3,  4,  6,  5,  7,  8, 10,  9, 11])
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
array([ 0,  2,  1,  3,  4,  6,  5,  7,  8, 10,  9, 11])

在上述代码中

  • 我们使用别名np导入了numpy。
  • 我们使用np.arange()函数创建了一个数组 ‘x’
  • 我们使用 reshape()np.swapaxes() 函数改变了它的形状并交换了轴。
  • 我们声明了变量y、z和q,并分配了np.ravel()函数的返回值。
  • 我们在函数中传递了数组 ‘x’ 和顺序 CKA
  • 最后,我们试图打印 y 的值。

在输出中,数组的值显示为一个连续的展平数组。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程