【发布时间】:2017-11-14 11:02:50
【问题描述】:
我有一些像这样的 numpy 数组:
import numpy as np
a = np.array([[1, 2, 3, 4, 5], [14, 16, 17, 27, 38]])
b = np.array([[1, 2, 3, 4, 5], [.4, .2, .5, .1, .6]])
我希望能够 1.将这些数组复制到一个新的单个数组中并 2.对数据进行排序,以便结果如下:
data = [[1, 1, 2, 2, 3, 3, 4, 4, 5, 5], [14, .4, 16, .2, 17, .5, 27, .1, 38, .6]]
或者,换句话说,我需要原始数组中的所有列都相同,只是按升序排列。我试过这个:
data = np.hstack((a,b))
这给了我附加的数据,但我不确定如何对其进行排序。我尝试了 np.sort() 但它没有保持列相同。谢谢!
【问题讨论】:
-
你描述的不是排序。
-
那么什么是排序,什么不是排序?
-
您将
[a, b, c]、[d, e, f]转换为[a, d, b, e, c, f],而不是sorted([a, d, b, e, c, f])。您对成对的zip([a, b, c], [d, e, f])执行排序。 -
是的,但那是我的问题——如何从 [a, d, b, e, c, f] 到 [a, b, c, d, e, f]。这不是对我的数组进行排序吗?
标签: python arrays sorting numpy