在Python中,有些情况下我们需要得到一个一维数组,而不是一个二维或多维数组。为了实现这个目的,numpy模块提供了一个名为 numpy.ndarray.flatten() 的函数,它返回一个将数组展平为一维数组的副本,而不是二维或多维数组。

语法

ndarray.flatten(order='C')

参数:

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

如果将order参数设置为'C',则表示数组以行优先的方式进行展平。如果设置为'F',则数组以列优先的方式进行展平。只有当数组在内存中是Fortran连续的,并且将order参数设置为'A'时,数组才会以列优先的方式进行展平。最后一种方式是'K',它以元素在内存中出现的顺序展平数组。默认情况下,该参数设置为'C'。

返回值:

y: ndarray

此函数返回源数组的副本,展平为一维数组。

示例 1:

import numpy as np  
a = np.array([[1,4,7], [2,5,8],[3,6,9]])  
b=a.flatten()  
b  

输出:

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

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用array()函数创建了一个多维数组'a'。
  • 我们声明了变量'b'并赋值为flatten()函数的返回值。
  • 最后,我们尝试打印变量'b'的值。

输出显示了一个ndarray,其中包含多维数组的元素展平为一维数组。

示例 2:

import numpy as np  
a = np.array([[1,4,7], [2,5,8],[3,6,9]])  
b=a.flatten('C')  
b  

输出:

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

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用array()函数创建了一个多维数组'a'。
  • 我们声明了变量'b'并赋值为flatten()函数的返回值。
  • 我们在函数中使用了'C'的顺序。
  • 最后,我们尝试打印变量'b'的值。

输出显示了一个ndarray,其中包含多维数组的元素展平为一维数组。

示例 3:

import numpy as np  
a = np.array([[1,4,7], [2,5,8],[3,6,9]])  
b=a.flatten('F')  
b  

输出:

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

示例 4:

import numpy as np  
a = np.array([[1,4,7], [2,5,8],[3,6,9]])  
b=a.flatten('A')  
b  

输出:

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

示例 5:

import numpy as np  
a = np.array([[1,4,7], [2,5,8],[3,6,9]])  
b=a.flatten('K')  
b  

输出:

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

标签: NumPy, NumPy教程, NumPy学习, NumPy安装, NumPy入门教程, NumPy进阶教程, NumPy指南, NumPy学习指南, NumPy库, NumPy库学习, NumPy库入门, NumPy库教程, NumPy应用, NumPy库进阶