python numpy 一维数组 水平合并与垂直合并

------------------------------ 水平合并
数组A: [7 6 5 4 9] (5,)
数组B: [18 18 18 16 19] (5,)
数组result:
 [[ 7 18]
 [ 6 18]
 [ 5 18]
 [ 4 16]
 [ 9 19]] (5, 2)
------------------------------ 纵向合并
数组A: [7 6 5 4 9] (5,)
数组B: [18 18 18 16 19] (5,)
数组result:
 [[ 7  6  5  4  9]
 [18 18 18 16 19]] (2, 5)

一维 数组的合并

import numpy as np


# 一维数组 合并
def array_stack_h(arr_a, arr_b):
    arr_a = np.reshape(arr_a, (arr_a.shape[0], 1))
    arr_b = np.reshape(arr_b, (arr_b.shape[0], 1))
    arr_result = np.hstack((arr_a, arr_b))
    print("数组result:\n", arr_result, arr_result.shape)


def array_stack_v(arr_a, arr_b):
    arr_result = np.vstack((arr_a, arr_b))
    print("数组result:\n", arr_result, arr_result.shape)


if __name__ == '__main__':
    array_a = np.random.randint(0, 10, (5,))
    array_b = np.random.randint(10, 20, (5,))
    print("--" * 15, "水平合并")
    print("数组A:", array_a, array_a.shape)
    print("数组B:", array_b, array_b.shape)

    array_stack_h(array_a, array_b)
    print("--" * 15, "纵向合并")
    print("数组A:", array_a, array_a.shape)
    print("数组B:", array_b, array_b.shape)
    array_stack_v(array_a, array_b)

你可能感兴趣的:(python)