NumPy 中数组拼接、合并详解

在这里插入图片描述

1、np.append()

1.1、语法

将值添加到数组的末端,返回一个新的数组,而原数组不变。

numpy.append(arr, values, axis=None)
参数描述
arr : 类数组输入的数组
values : 类数组向数组 arr 添加的元素,需要与 arr 维度相同
axis : 整型添加操作的方向轴,axis 取 0 表示沿竖直方向操作,axis 取 1 表示沿水平方向操作,若未提供 axis 值,在添加操作之前输入数组会被展开为一维数组

1.2、示例

arr = np.array([[1,2,3,4],[5,6,7,8]])
print('原数组:', arr)
>>> 原数组:[[ 1 2 3 4 ]
             [ 5 6 7 8 ]]

arr1 = np.append(arr,[[9,10],[11,12]])
print('直接添加元素:', arr1)
>>> 直接添加元素: [ 1  2  3  4  5  6  7  8  9  10  11  12 ]

arr2 = np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0)
print('沿轴 0 添加元素:', arr2)
>>> 沿轴 0 添加元素: [[ 1  2  3  4 ]
                      [ 5  6  7  8 ]
                      [ 9  10 11 12]
                      [ 11 11 11 11]]

arr3 = np.append(arr,[[9,10],[11,12]], axis=1)
print('沿轴 1 添加元素:', arr3)
>>> 沿轴 1 添加元素: [[ 1  2  3  4  9  10]
                      [ 5  6  7  8  11  12]]

2、np.concatenate()

2.1、语法

拼接一系列数组。

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
参数描述
a1, a2, … : 数组序列这些数组必须有相同的形状
axis : 整型拼接时的坐标轴,其默认值为 0,若为 None,则数组在使用前会被展开。
out :(可选参数)暂时不做讨论
dtype :(可选参数)暂时不做讨论
casting :(可选参数)暂时不做讨论

2.2、示例

示例1:一维数组


x = np.array([1, 2, 3])
print("x:", x)
>>> x: [1 2 3]

y = np.array([4, 5, 6])
print("y:", y)
>>> y: [4 5 6]

z = np.concatenate((x, y))
print("z:", z)
>>> z: [1 2 3 4 5 6]

# --------------------------------------------------------

x1 = np.array([[1], [2], [3]])
print("x1:", x1)
>>> x1: [[1]
         [2]
         [3]]

y1 = np.array([[4], [5], [6]])
print("y1:", y1)
>>> y1: [[4]
         [5]
         [6]]

z1 = np.concatenate((x1, y1))
print("z1:", z1)
>>> z1: [[1]
         [2]
         [3]
         [4]
         [5]
         [6]]

示例2:二维数组

x = np.array([[1, 2], [3, 4]])
print("x:", x)
>>> x: [[1 2]
        [3 4]]

y = np.array([[5, 6], [7, 8]])
print("y:", y)
>>> y: [[5 6]
        [7 8]]

z = np.concatenate((x, y), axis=0)
print("z:", z)
>>> z: [[1 2]
        [3 4]
        [5 6]
        [7 8]]

z1 = np.concatenate((x, y), axis=1)
print("z1:", z1)
>>> z1: [[1 2 5 6]
         [3 4 7 8]]
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值