gpt4 book ai didi

python - reshape numpy 数组以包含来自原始数组的逻辑值 block

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:32 25 4
gpt4 key购买 nike

我的 google-fu 失败了!

我有一个 numpy 数组如下:

    0     1     2     3
------------------------
0 | 100 110 120 130
1 | 140 150 160 170
2 | 180 190 200 210
3 | 220 230 240 250
4 | 260 270 280 290
5 | 300 310 320 330
6 | 340 350 360 370
7 | 380 390 400 410
8 | 420 430 440 450

它的形状是(9, 4)。我想将上面的数组 reshape 为以下 (6, 6) 数组:

    0     1     2     3     4     5
-------------------------------------
0 | 100 110 | 140 150 | 180 190
1 | 120 130 | 160 170 | 200 210
-------------------------------------
2 | 220 230 | 260 270 | 300 310
3 | 240 250 | 280 290 | 320 330
-------------------------------------
4 | 340 350 | 380 390 | 420 430
5 | 360 370 | 400 410 | 440 450

我可以用 2 个 for 循环和一些条件来完成。是否有更好的方法在单行代码中使用 numpy.reshape 实现相同的结果?

提前致谢。

最佳答案

实际上它是一个 (3, 3) 数组 (2, 2) 数组,所以首先将它 reshape 为 (3, 3, 2 , 2) 数组。

然后转置它,使轴正确,以便将它重新组合成一个 (6, 6) 数组:

a.reshape(3, 3, 2, 2).transpose([0,2,1,3]).reshape(6,6)

关于python - reshape numpy 数组以包含来自原始数组的逻辑值 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40551022/

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