我认为(希望)这个问题与什么是";zip()"在Python中';s numpy?,尽管这可能只是我的无知。
假设我有以下内容:
[[1,2],[3,[5,[[7,8],[9,[11,12]]]
我想把它变成
[[1,2],[7,[[3,[9,10]],[[5,[11,12]]]
在python中我可以做:
>>> foo
[[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]]
>>> zip(*foo)
[([1, 2], [7, 8]), ([3, 4], [9, 10]), ([5, 6], [11, 12])]
但是,如何使用numpy数组(不使用zip(*))来实现这一点呢?
您真的需要返回元组吗?还是要重塑数组?
>>> a
array([[[ 1, 2],
[ 3, 4],
[ 5, 6]],
[[ 7, 8],
[ 9, 10],
[11, 12]]])
>>> a.swapaxes(0,1)
array([[[ 1, 2],
[ 7, 8]],
[[ 3, 4],
[ 9, 10]],
[[ 5, 6],
[11, 12]]])