numpy - ravel()函数

numpy - ravel()函数 首页 / Numpy入门教程 / numpy - ravel()函数

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

语法:

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

参数:

x:array_like

此参数定义输入数组,我们要在连续的展平数组中对其进行更改。数组元素按照order参数指定的顺序读取,并打包为一维数组。

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

如果将order参数设置为'C',则意味着该数组以行优先顺序变平。如果设置为" F",则数组将按列优先顺序展平。仅当" A"在内存中是连续的,并且当我们将order参数设置为" A"时,才按列优先顺序对数组进行展平。最后一个顺序是" 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',并在函数中订购了 C K A
  • 最后,我们尝试打印 y 的值。

在输出中,该数组的值以连续的展平数组形式显示。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品实战 -〔邱岳〕

透视HTTP协议 -〔罗剑锋(Chrono)〕

SRE实战手册 -〔赵成〕

如何看懂一幅画 -〔罗桂霞〕

郭东白的架构课 -〔郭东白〕

现代React Web开发实战 -〔宋一玮〕

超级访谈:对话玉伯 -〔玉伯〕

云原生架构与GitOps实战 -〔王炜〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)