将矩阵转换为 NumPy 数组

Manav Narula 2023年1月30日
  1. 使用 numpy.flatten() 函数将矩阵转换为 NumPy 中的数组
  2. 使用 numpy.ravel() 函数将矩阵转换为 NumPy 中的数组
  3. 使用 numpy.reshape() 函数将矩阵转换为 NumPy 中的数组
将矩阵转换为 NumPy 数组

NumPy 具有许多可用于对矩阵执行不同运算的函数和类。

在本教程中,我们将学习如何在 NumPy 中将矩阵转换为数组。

使用 numpy.flatten() 函数将矩阵转换为 NumPy 中的数组

flatten() 采用 N 维数组并将其转换为单维数组。

它仅适用于 ndarray 对象。

它可以将矩阵转换为数组,如下所示。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.flatten())

输出:

[1 2 3 4 5 6 7 8 9]

请注意,如果使用矩阵类型的对象,则必须使用 asarray() 函数将其转换为数组,然后使用 flatten() 函数。可以为所有方法完成。

例如,

import numpy as np

arr = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_d = (np.asarray(arr)).flatten()
print(arr_d)

输出:

[1 2 3 4 5 6 7 8 9]

使用 numpy.ravel() 函数将矩阵转换为 NumPy 中的数组

ravel() 函数的工作方式与 flatten() 函数完全相同,但有一些明显的区别。两者都用于将 N 维数组转换为单维数组。

但是,ravel() 函数是一个库函数,也可以在数组列表之类的对象上工作。flatten() 返回原始副本,而 ravel() 始终返回原始视图。

在下面的代码中,我们将使用此函数转换矩阵。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.ravel())

输出:

[1 2 3 4 5 6 7 8 9]

使用 numpy.reshape() 函数将矩阵转换为 NumPy 中的数组

reshape() 修改了数组的整体形状,而没有改变其内容。如果将矩阵的新形状指定为 -1,则将获得一维数组。

例如,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.reshape(-1))

输出:

[1 2 3 4 5 6 7 8 9]
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn