【发布时间】:2019-05-30 21:47:16
【问题描述】:
我目前有一个包含以下数据的 numpy 数组:
array([0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0,
1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0,
0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1,
0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0])
我需要将其转换成如下所示的数组:
array([0., 1.],
[0., 1.],
[1., 0.],
[1., 0.],
[1., 0.],
[0., 1.],
[1., 0.],
[1., 0.],
[1., 0.],
[1., 0.],
...
[0., 1.])
我认识到第一步显然是转换为浮点数,但我不知道下一步从哪里开始。有没有可以很好用的地图功能?一个拉姆达?一个for循环?我觉得如果我已经以不同的数组格式拥有它会很简单,但我不知道如何有条件地添加一个维度,然后用与已经存在的完全相反的二进制填充它。所有这些都基于 if-then 条件吗?抱歉,我只是对 Python 比较陌生,所以我还不知道所有的工具。
【问题讨论】:
-
看起来你想
reshape使用 fortran 样式排序。试试a.reshape(-1, 2, order='F')