假设我有一个numpy数组,如下所示
a = np.asarray([[1,2,3],[1,4,3],[2,5,4],[2,7,5]])
array([[1, 2, 3],
[1, 4, 3],
[2, 5, 4],
[2, 7, 5]])
如何将第1列中每个唯一元素的第2列和第3列展平,如下所示:
array([[1, 2, 3, 4, 3],
[2, 5, 4, 7, 5],])
谢谢你的帮助。
最佳答案
使用列表理解的另一个选项:
np.array([np.insert(a[a[:,0] == k, 1:].flatten(), 0, k) for k in np.unique(a[:,0])])
# array([[1, 2, 3, 4, 3],
# [2, 5, 4, 7, 5]])