【发布时间】:2018-12-19 14:27:13
【问题描述】:
我有一个形状为(M,N) 的numpy ndarray x,其中N 中的每个元素都是一个包含复数实部和虚部的2 元素元组。
我想将元组解包到另一个维度,这样我的x 现在将具有(M,N,2) 的形状
我的第一个想法是将实部和虚部分成两个形状为 (M,N) 的 numpy 数组,并将它们连接到第二个轴上,以便获得所需的输出。为此,我尝试只访问实部和虚部,如下所示
x[:,:][0]
x[:,:][1]
但是,它会返回整个数组,而不仅仅是实部/虚部。关于如何继续进行的任何指示?
一个示例数组如下
array([[( 4.82641562, -1.84333128), (-1.29724314, 2.06545141),
( 0.02074953, -1.32518303)],
[(-0.81477981, -3.34148138), ( 0.231383 , 1.35495823),
( 1.66341462, -1.33603417)],
[( 2.2809137 , -1.17720382), (-1.05115026, -2.09556016),
( 1.57932884, -0.7438237 )],
[(-2.2170903 , 0.81147059), ( 0.17489367, 0.15123805),
(-1.95151614, -0.5669619 )],
[(-2.16413158, 0.44555251), ( 1.2545366 , -0.06933326),
( 1.08469658, 1.71108236)],
[(-0.99776606, -0.0607623 ), (-0.11785624, -1.90687216),
( 1.28964911, -1.03083365)],
[( 1.65550362, -1.26383881), ( 0.13404437, 1.4402823 ),
( 0.04223597, -1.00992713)],
[(-0.4696885 , 2.66014003), (-1.12157114, -1.03019938),
( 2.6312301 , 0.22770433)],
[( 1.74457246, -0.91478885), (-0.18861201, 0.75360561),
( 0.27141119, 0.71356903)],
[(-0.15940566, 1.26613812), ( 1.28238354, 1.31858431),
( 0.31217745, 0.13244299)]],
dtype=[('real', '<f8'), ('imag', '<f8')])
【问题讨论】:
-
您是否考虑过使用内置的复数支持,以及
x.view(np.complex128)? -
另一个要学习的新东西...谢谢...但是我需要将实部和虚部堆叠起来才能将它们输入神经网络。
标签: python numpy complex-numbers numpy-ndarray