在 Python 中将 3D 数组转换为 2D 数组
Muhammad Maisam Abbas
2021年3月21日
在本教程中,我们将讨论在 Python 中将 3D 数组转换为 2D 数组的方法。
在 Python 中使用 numpy.reshape()
函数将 3D 数组转换为 2D 数组
[numpy.reshape()
函数](numpy.reshape-NumPy v1.20 手册)更改数组形状而不更改其数据。numpy.reshape()
返回具有指定尺寸的数组。例如,如果我们有一个尺寸为 (4, 2, 2)
的 3D 数组,我们想将其转换为尺寸为 (4, 4)
的 2D 数组。
以下代码示例向我们展示了如何在 Python 中使用 numpy.reshape()
函数将尺寸为 (4, 2, 2)
的 3D 数组转换为尺寸为 (4, 4)
的 2D 数组。
import numpy
arr = numpy.array(
[[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]],
[[12, 13],
[14, 15]]]
)
newarr = arr.reshape(4,2*2)
print(newarr)
输出:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
在上面的代码中,我们首先使用 numpy.array()
函数初始化 3D 数组 arr
,然后使用 numpy.reshape()
函数将其转换为 2D 数组 newarr
。
下面的代码示例演示了由于某种原因,如果我们不知道 3D 数组的确切尺寸,则可以执行相同操作的另一种方法。
import numpy
arr = numpy.array(
[[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]],
[[12, 13],
[14, 15]]]
)
newarr = arr.reshape(arr.shape[0], (arr.shape[1]*arr.shape[2]))
print(newarr)
输出:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
在上面的代码中,我们使用 numpy.shape()
函数指定 newarr
的尺寸。numpy.shape()
函数返回一个元组,其中包含数组每个维度中的元素。
Author: Muhammad Maisam Abbas
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn