は観察:column_stack
とrow_stack
についても同様なぜnumpy.broadcastはvstackなどの機能の結果を "転記"しますか?
In [1]: import numpy as np
In [2]: x = np.array([1, 2, 3])
In [3]: np.vstack([x, x])
Out[3]:
array([[1, 2, 3],
[1, 2, 3]])
In [4]: np.vstack(np.broadcast(x, x))
Out[4]:
array([[1, 1],
[2, 2],
[3, 3]])
(hstack
、この場合に異なる動作が、放送に使用される場合、それはまた、異なります)。どうして?
私はこの振る舞いを「修復」する方法を見つけるよりも、その背後にあるロジックを守っています(私はそれでうまくいく、ちょうど直感的ではありません)。
np.concatenate(np.broadcast(...))がうまくいきません。 'vstack'(および親戚)が行うリストの理解が必要です。 'np.array(list(np.broadcast(...)))'は動作しますが、より高速です。 – hpaulj