gpt4 book ai didi

python - 将 3D numpy 矩阵 reshape 为 2D numpy 矩阵,保持行位置

转载 作者:行者123 更新时间:2023-12-02 02:07:22 32 4
gpt4 key购买 nike

作为一个简化的示例,我有一个 3D numpy 矩阵,如下所示:

a = np.array([[[1,2],
[4,np.nan],
[7,8]],

[[7,6],
[4,3],
[1,0]],

[[0,1],
[3,np.nan]
[6,7]],

[[8,7],
[5,4],
[2,1]]])
>>> a.shape
(4,3,2)

我想将这个 3D 矩阵 (a) reshape 为 2D 矩阵 (b),同时保持行位置。这就是目标:

b = np.array([[1,2,7,6,0,1,8,7],
[4,np.nan,4,3,3,np.nan,5,4],
[7,8,1,0,6,7,2,1]])
>>> b.shape
(3,8)

我认为我应该能够通过 .reshape().transpose() 的某种组合来实现这一目标?但我对矩阵操作还很陌生,这一切都有点令人难以置信。到目前为止,我所尝试的一切都无法让我到达那里......

最佳答案

您可以先使用 transpose 交换前 2 个轴(以便形状为 (3, 4, 2)),然后reshape:

>>> a.transpose(1, 0, 2).reshape(3, 8)

array([[ 1., 2., 7., 6., 0., 1., 8., 7.],
[ 4., nan, 4., 3., 3., nan, 5., 4.],
[ 7., 8., 1., 0., 6., 7., 2., 1.]])

关于python - 将 3D numpy 矩阵 reshape 为 2D numpy 矩阵,保持行位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68225851/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com