python - 如何交换数组中的二维

标签 python python-3.x numpy scikit-image

我有一组来自 Tiff 文件的 4 维数据。

image_stack = io.imread(path, plugin='tifffile')
print(image_stack.shape)
>>> (21, 10, 1331, 1126) 

所以最后 2 个维度是图像分辨率。 10 是因为我在给定时间有 10 个相同图像的切片(在 z 轴上) 21 是因为所有这些图像每秒都会拍摄一次。

如何交换 21 和 10 尺寸?

最佳答案

您可以将前两个轴与 swapaxes 交换:

a = np.random.rand(21, 10, 1331, 1126)
a.swapaxes(1,0).shape
# (10, 21, 1331, 1126)

或者用 rollaxis 向后移动第二个轴:

np.rollaxis(a, 1).shape
# (10, 21, 1331, 1126)

关于python - 如何交换数组中的二维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61900669/

相关文章:

python - 为什么这里需要 Queue.join() ?

python-3.x - 无法在可视代码上使用 anaconda python 3.9 解析 import azure.functions

不带 from 子句的 Python import 语句导入类而不是模块

python - GCloud 计算隧道始终显示警告,告知安装 numpy

python-3.x - 我想从 Python 中的点云生成网格

python - numpy 数组的标准化

python - 如何用大写字母替换字符串中的小写字母并找出没有替换

python - Pandas 使用滚动总和和递减窗口创建新列

python - 使用 python+cairo+rsvg 从 svg 转换为 png 后,沿曲线的文本缺失

python - LIME 功能解释产生无效 key 错误