【发布时间】:2014-08-27 16:35:53
【问题描述】:
我有一个 NumPy 数组“数据”,如下所示:
data = np.array([
[0.0, 30.0, 60.0, 90.0, 120.0, 150.0, -180.0, -150.0, -120.0, -90.0, -60.0, -30.0],
[0.0, 30.0, 60.0, 90.0, 120.0, 150.0, -180.0, -150.0, -120.0, -90.0, -60.0, -30.0],
[0.0, 30.0, 60.0, 90.0, 120.0, 150.0, -180.0, -150.0, -120.0, -90.0, -60.0, -30.0]])
我想从给定的数组“数据”中生成数组“结果”。实际上,在所需的数组中,必须将零列放在中间,然后值向右方向增加,而值向左方向减少,如下所示:
result = np.array([
[-180.0, -150.0, -120.0, -90.0, -60.0, -30.0, 0.0, 30.0, 60.0, 90.0, 120.0, 150.0, 180.0],
[-180.0, -150.0, -120.0, -90.0, -60.0, -30.0, 0.0, 30.0, 60.0, 90.0, 120.0, 150.0, 180.0],
[-180.0, -150.0, -120.0, -90.0, -60.0, -30.0, 0.0, 30.0, 60.0, 90.0, 120.0, 150.0, 180.0]])
结果数组应该基于给定数组的索引操作。在 NumPy 中最好的方法是什么?
我尝试了np.rot90, np.flipud, np.fliprl 函数但没有成功。
但是,我想不出如何开始。
【问题讨论】:
标签: python arrays numpy transformation