[英]Concatenate indices of each Numpy Array in a Matrix
所以我有一个 Numpy 数组,里面有一堆 numpy arrays。 我想根据它们各自数组中的 position 对它们进行分组。
例如:如果矩阵是:
[[1, 2], [2, 3], [4, 5], [6, 7]]
然后代码应该返回:
[[1, 2, 4, 6], [2, 3, 5, 7]]
这是因为1, 2, 4, 6
都是它们各自 arrays 中的第一个元素,而2, 3, 5, 7
是它们各自 arrays 中的第二个元素。
任何人都知道一些可以做到这一点的 function。 谢谢。
在 Python 中回答。
使用numpy 转置应该可以解决问题:
a = np.array([[1, 2], [2, 3], [4, 5], [6, 7]])
a_t = a.T
print(a_t)
array([[1, 2, 4, 6],
[2, 3, 5, 7]])
您的数据作为列表:
In [101]: alist = [[1, 2], [2, 3], [4, 5], [6, 7]]
In [102]: alist
Out[102]: [[1, 2], [2, 3], [4, 5], [6, 7]]
并作为 numpy 阵列:
In [103]: arr = np.array(alist)
In [104]: arr
Out[104]:
array([[1, 2],
[2, 3],
[4, 5],
[6, 7]])
“转置”列表的标准习语是:
In [105]: list(zip(*alist))
Out[105]: [(1, 2, 4, 6), (2, 3, 5, 7)]
使用 arrays,有一个转置方法:
In [106]: arr.transpose()
Out[106]:
array([[1, 2, 4, 6],
[2, 3, 5, 7]])
第一个数组是 (4,2) 形状; 它的转置是(2,4)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.