numpy之用concatenate()拼接数据

 我们有时会需要将数据进行拼接,在pandas中可以利用concat()等,而在numpy中可以利用numpy.concatenate()

语法:concatenate((a1, a2, …), axis=0)
说明:(a1, a2, …)为待拼接的数据,可以是一维,也可以是多维。axis决定着怎么将数据拼接:axis=0是将数据按列拼接(即竖着拼接);axis=1是将数据按行拼接(即横着拼接);axis=None则是先将数据拉成一维向量,再拼接。

eg1: 数据都是一维的

import numpy as np

data1 = np.array([1, 2, 3, 4]) #[1 2 3 4]
data2 = np.array([5, 6]) #[5 6]
print(np.concatenate((data1, data2))) #[1 2 3 4 5 6]

eg2: 数据都是二维的,axis=0,按列拼接,要求列数相同,不然会报错

import numpy as np

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

data2 = np.array([[5, 6]]) #[[5 6]]

print(np.concatenate((data1, data2))) #[[1 2]
                                      # [3 4]
                                      # [5 6]]

eg3: 数据都是二维的,axis=1,按行拼接,要求行数相同,上例中的data1有两行,而data2只有一行,因此需要将data2转置为两行的,不然会报错。

import numpy as np

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

data2 = np.array([[5, 6]]) #[[5 6]]

#将data2转置
print(np.concatenate((data1, data2.T), axis=1)) #[[1 2 5]
                                                # [3 4 6]]

eg4: 数据都是二维的,axis=None

import numpy as np

data1 = np.array([[1, 2], [3, 4]]) #[[1 2]
                                   # [3 4]]
                                   
data2 = np.array([[5, 6]]) #[[5 6]]

#将data2转置
print(np.concatenate((data1, data2.T), axis=None)) #[1 2 3 4 5 6]
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值