numpy中数组合并

需要对numy的数组进行合并,做以下整理:

1、"+"合并

c1 = ["Red","Green","Blue"]

c2 =["Orange","Yellow","Indigo"]

c3 = c1 + c2

=>

c3 ==["Red","Green","Blue","Orange","Yellow","Indigo"]

2、append

特点:可读性好,比较灵活,但是占内存大(主页复制)。参数形式如下:

1)不同维度数组合并,未指定axis

import numpy as np

a = np.array([1, 2, 3])

b = np.array([[4, 5, 6], [7, 8, 9]])

c = np.append(a, b)

print("c =", c)

=>结果合并为一行

2)不同行、相同列数,同纬度,按列合并axis=0

import numpy as np

a = np.array([[1, 2, 3]])

b = np.array([[4, 5, 6], [7, 8, 9]])

c = np.append(a, b, axis=0)

print("c =", c)

=>结果合并三行

3)相同行、不同列,同纬度,按行合并axis=1

a = np.array([[1, 2], [3, 4]])

b = np.array([[4, 5, 6], [7, 8, 9]])

c = np.append(a, b, axis=1)

print("c =", c)

=>结果合并为5

3、concatenate

特点:没有内存问题

1)列上合并,axis=0

import numpy as np

a = np.array([[1, 2], [3, 4]])

b = np.array([[5, 6]])

c = np.concatenate((a, b), axis=0)

print("c =", c)

2)行上合并,axis=1

a = np.array([[1, 2], [3, 4]])

b = np.array([[5, 6]])

c = np.concatenate((a, b.T), axis=1)

print("b.T =", b.T)

print("c =", c)

3)实例应用,多维矩阵list扩展

a = np.array([[[1, 2], [1, 2]], [[3, 4], [1, 2]]])

b = np.array([[[5, 6], [5, 6]], [[7, 8], [5, 6]]])

c = np.concatenate((a, b))

print("c =", c)


猜你喜欢

转载自blog.csdn.net/jingbo18/article/details/80421715