我们有什么方法可以使用numpy函数做一些像mergesort合并的东西吗?
合并之类的功能:
a = np.array([1,3,5])
b = np.array([2,4,6])
c = merge(a, b) # c == np.array([1,2,3,4,5,6])
Run Code Online (Sandbox Code Playgroud)
我希望通过numpy可以获得大数据的高性能
如果我有两个已经在兼容键上排序的数据帧(或系列),我希望能够便宜地将它们合并在一起并保持排序.除了通过concat()和显式sort()之外,我看不到这样做的方法
a = pd.DataFrame([0,1,2,3], index=[1,2,3,5], columns=['x'])
b = pd.DataFrame([4,5,6,7], index=[0,1,4,6], columns=['x'])
print pd.concat([a,b])
print pd.concat([a,b]).sort()
x
1 0
2 1
3 2
5 3
0 4
1 5
4 6
6 7
x
0 4
1 0
1 5
2 1
3 2
4 6
5 3
6 7
Run Code Online (Sandbox Code Playgroud)
看起来有一些关于numpy数组的相关讨论,暗示了一种"交错"方法,但我没有找到一个好的答案.
我有两个排序的 np.arrays,说
1, 2, 3, 5
Run Code Online (Sandbox Code Playgroud)
和
2, 4, 6, 7
Run Code Online (Sandbox Code Playgroud)
我想要
1 2 2 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)
不想要 python for 循环。
是否有一些 numpy 功能?
奖励:按某些轴对矩阵执行此操作(其他轴具有相同的形状)