擅长:python、mysql、java
<p>使用<a href="https://stackoverflow.com/questions/32838802">np.transpose()</a>重新排列维度</p>
<pre><code>import numpy as np
# test data in ydh ordering
data_ydh = np.array(range(365*24*25)).reshape((25,365,24))
data_ydh[0,0,:] # check y=d=0, the first 24 hours
Out[43]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
# ydh to dhy
data_dhy = data_ydh.transpose((1,2,0))
data_dhy[0,:,0] # d=0 and y=0
Out[47]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
# dhy to ydh
data_ydh_back = data_dhy.transpose((2,0,1))
data_ydh_back[0,0]
Out[49]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
</code></pre>