我有一个图像为一个形状为(channels, height, width)
的凹凸不平的数组我怎样才能重塑它以使其具有(height, width, channels)
的形状?
答案 0 :(得分:9)
我认为使用内置的numpy函数会更快。
np.rollaxis(array_name,0,3).shape
答案 1 :(得分:8)
您可以使用transpose()
选择轴的顺序。在这种情况下,您需要:
In [33]: df.dropna().apply(lambda x: x['START_DATE'] + pd.offsets.MonthEnd(x['MONTHS']), axis=1)
Out[33]:
0 2035-02-28
1 2035-02-28
2 2035-02-28
3 2035-02-28
4 2035-02-28
5 2024-12-31
6 2036-12-31
dtype: datetime64[ns]
这样就尽可能在原始数组上创建一个新视图(不会复制数据)。
答案 2 :(得分:0)
你可以这样做:
import numpy as np
newim = np.zeros((height, width, channels))
for x in xrange(channels):
newim[:,:,x] = im[x,:,:]