gpt4 book ai didi

python - Numpy:以最少的操作 reshape 此数组

转载 作者:行者123 更新时间:2023-11-28 21:29:43 26 4
gpt4 key购买 nike

我有一个包含 112 行和 40 列的数组。

我需要转换成的格式是 40 组 56 点,每组带有 x,y。

因此,第一行包含每个集合中第一个点的 x 坐标。第二行包含集合中第二个点的 x ...直到第 56 行。之后我得到了 y。

1st line : 40 x's  
2nd line: 40 x's
...
56th line: 40 x's
57th line: 40 y's
...
112th line: 40 y's

最初我考虑过执行 data.reshape(40, 56, 2) 但这不起作用,因为 x 的值出现在 y 的值之前。相反,如果我有一行带有 x,另一行带有 y,那也可以。

编辑:

for i in xrange(len(data)/2):
points.append(data[i])
points.append(data[i+len(data)/2])
points = np.array(points).T.reshape(len(data[0]), len(data)/2, 2)
return points

最佳答案

只有一个想法:

[[(data[i,j], data[i+56,j]) for i in range(56)] for j in range(40)]

返回元组列表的列表。

编辑:您的编辑阐明了您的需求。如果您想要纯 Numpy,那么这行得通吗?

data.reshape(2, 56, 40).swapaxes(0,2)

关于python - Numpy:以最少的操作 reshape 此数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com