python - 在 numpy 中创建方阵的 3D 数组

标签 python numpy multidimensional-array

我想向量化一组 2x2 数组的创建, 所以我写了下面的代码

import numpy as np
# an array of parameters
a = np.array(( 1.0, 10.0, 100.0))
# create a set of 2x2 matrices
b = np.array((( 1*a, 2*a), ( 3*a, 4*a)))

# to access the 2x2 matrix, I can do as follows
for i in range(3):
    print(i,"\n",b[:,:,i])

其输出是

0 
 [[ 1.  2.]
 [ 3.  4.]]
1 
 [[ 10.  20.]
 [ 30.  40.]]
2 
 [[ 100.  200.]
 [ 300.  400.]]

到目前为止,一切都很好,但我真正想要的是用不同的方式创建 b 方式,这样我就可以简单地引用 2x2 矩阵

b = ...
# this code doesn't work!
for i in range(3):
    print(i,"\n",b[i])

提前致谢,

最佳答案

参见numpy.transpose ;举个例子:

>>> b.transpose(2, 0, 1)
array([[[   1.,    2.],
        [   3.,    4.]],

       [[  10.,   20.],
        [  30.,   40.]],

       [[ 100.,  200.],
        [ 300.,  400.]]])
>>> b.transpose(2, 0, 1)[0]
array([[ 1.,  2.],
       [ 3.,  4.]])

关于python - 在 numpy 中创建方阵的 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866506/

相关文章:

javascript - 赋值给多维数组 javascript

c++ - 雪豹上的 python/c++ 包装

python - 如何找到数组的分位数索引?

python - 二维列表在python中错误赋值

python - 将向量存储在 numpy 矩阵的单元格中

python - 为什么 multivariate_normal 方法的平均输出与分布均值不同?

java - 不能使用变量来定义数组值吗?

python 用 "on duplicate key update"执行很多?

python - Tornado mysql : how to get size of cursor

python - 为什么我的日志记录在 Python 3 中不起作用?