连接两个数组有很多方法,当处理数据量较大的时候就需要考虑哪种方式最快了。
import numpy as np
from timeit import repeat
# 方法1
def f1():
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.row_stack((a, b))
return c
# 方法2
def f2():
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.r_[a, b]
return c
# 方法3,axis=0 表示做行拼接
def f3():
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.append(a, b, axis=0)
return c
# 方法4
def f4():
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.concatenate((a, b), axis=0)
return c
五种方式,分别运行10000次的时间结果如下:
可以发现方法4计算速度最快