标签: python vectorization reshape movie
我有一部电影,使用skimage.external.tifffile.imread()从tif文件加载到形状为(frames, width, height)的numpy数组中。将电影重新排序为( width, height, frames)形状的最佳方法是什么?
skimage.external.tifffile.imread()
(frames, width, height)
( width, height, frames)
我可以构建一个使用for循环执行此操作的函数,但是在避免for循环实现的同时又有更好的重塑方法吗?问题的某种向量化?
答案 0 :(得分:1)
您可以使用numpy.moveaxis:
movie = np.moveaxis(movie, 0, 2)
答案 1 :(得分:1)
您可以先进行transpose,然后再进行swapaxes:
import numpy as np movies = np.zeros((10, 250, 100)) print(movies.shape) print(np.swapaxes(movies.T, 0, 1).shape)
输出
(10, 250, 100) (250, 100, 10)