首页 > 解决方案 > 循环提取数组数组中的每个数组python

问题描述

我有一个数组数组

a = np.array([[11, 12, 13, 14],
           [15, 16, 17, 18],
           [19, 20, 21, 22]])

我想制作一个循环来提取每一行,所以最终结果是

a(1) = [11, 12, 13, 14]
a(2) = [15, 16, 17, 18]
a(3) = [19, 20, 21, 22]

然后将每个 a(i) 重塑为 2x2 fortran 数组

a(1) = np.array([[11, 13],
                 [12, 14])
a(2) = np.array([[15, 17],
                 [16, 18])
a(3) = np.array([[19, 21],
                 [20, 22])

标签: pythonarrayspython-3.xnumpy

解决方案


干得好:

In [4]: a
Out[4]: 
array([[11, 12, 13, 14],
       [15, 16, 17, 18],
       [19, 20, 21, 22]])

In [5]: a[0]
Out[5]: array([11, 12, 13, 14])

In [6]: a[1]
Out[6]: array([15, 16, 17, 18])

In [7]: a[2]
Out[7]: array([19, 20, 21, 22])

In [9]: a[0].reshape(2,2).T
Out[9]: 
array([[11, 13],
       [12, 14]])

In [13]: for i in a:
    ...:     print(i.reshape(2,2).T)
    ...:     
    ...:     
[[11 13]
 [12 14]]
[[15 17]
 [16 18]]
[[19 21]
 [20 22]]

推荐阅读