python - 如何在 python 中定义多维数组?

标签 python arrays matlab matrix multidimensional-array

在 MATLAB 中有一种简单的方法来定义多维数组,例如

A(:,:,1) = [1,2,3; 4,5,6];
A(:,:,2) = [7,8,9; 10,11,12];

>> A

 A(:,:,1) =

 1     2     3
 4     5     6


 A(:,:,2) =

 7     8     9
 10    11    12

其中前两个索引分别为A中存储的第i个矩阵(或page,见下图)的行和列;

enter image description here

有人知道如何在 python 中定义相同的结构吗?

最佳答案

使用 NumPy 索引类似于 MATLAB

 import numpy as np
 A=np.empty((2,3,3))
 A.shape
 #(2L, 3L, 3L)
 A[0,1,2] # element at index 0,1,2
 #0.0
 A[0,:,:] # 3x3 slice at index 0
 #array([[ 0.,  0.,  0.],
 #       [ 0.,  0.,  0.],
 #       [ 0.,  0.,  0.]])
 A[1,1,:] # 1-D array of length 3
 #array([ 0.,  0.,  0.]

关于python - 如何在 python 中定义多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41741319/

相关文章:

python - Django:如何将随机函数生成的变量存储在数据库中?

python - Python 编辑器中的单元格模式

matlab - 通过平均将点云转换为体素

matlab - PCA 中的矢量化

python - 如何将 subprocess.communicate() 转换为 utf-8 字符串?

python - 如何初始化 pyproject.toml 文件

javascript - 根据匹配字符串过滤多维数组

C++ - 结构成员指向数组

python - 向结构化numpy数组添加字段(4)

python - 使用 URL 映射而不是域映射的 Multi-Tenancy Django 应用程序