numpy库数组拼接np.concatenate
2020-02-01 10:27
351 查看
在实践过程中,会经常遇到数组拼接的问题,基于numpy库的concatenate是一个非常好用的数组操作函数。
1、concatenate((a1, a2, …), axis=0)官方文档详解
concatenate(...) concatenate((a1, a2, ...), axis=0) Join a sequence of arrays along an existing axis. Parameters ---------- a1, a2, ... : sequence of array_like The arrays must have the same shape, except in the dimension corresponding to `axis` (the first, by default). axis : int, optional The axis along which the arrays will be joined. Default is 0. Returns ------- res : ndarray The concatenated array. See Also -------- ma.concatenate : Concatenate function that preserves input masks. array_split : Split an array into multiple sub-arrays of equal or near-equal size. split : Split array into a list of multiple sub-arrays of equal size. hsplit : Split array into multiple sub-arrays horizontally (column wise) vsplit : Split array into multiple sub-arrays vertically (row wise) dsplit : Split array into multiple sub-arrays along the 3rd axis (depth). stack : Stack a sequence of arrays along a new axis. hstack : Stack arrays in sequence horizontally (column wise) vstack : Stack arrays in sequence vertically (row wise) dstack : Stack arrays in sequence depth wise (along third dimension)
2、Parameters参数
传入的参数必须是一个多个数组的元组或者列表
另外需要指定拼接的方向,默认是 axis = 0,也就是说对0轴的数组对象进行纵向的拼接(纵向的拼接沿着axis= 1方向);注:一般axis = 0,就是对该轴向的数组进行操作,操作方向是另外一个轴,即axis=1。
In [23]: a = np.array([[1, 2], [3, 4]]) In [24]: b = np.array([[5, 6]]) In [25]: np.concatenate((a, b), axis=0) Out[25]: array([[1, 2], [3, 4], [5, 6]])
传入的数组必须具有相同的形状,这里的相同的形状可以满足在拼接方向axis轴上数组间的形状一致即可
如果对数组对象进行 axis= 1 轴的拼接,方向是横向0轴,a是一个22维数组,axis= 0轴为2,b是一个12维数组,axis= 0 是1,两者的形状不等,这时会报错
In [27]: np.concatenate((a,b),axis = 1) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-27-aa1228decc36> in <module>() ----> 1 np.concatenate((a,b),axis = 1) ValueError: all the input array dimensions except for the concatenation axis must match exactly
将b进行转置,得到b为2*1维数组:
In [28]: np.concatenate((a,b.T),axis = 1) Out[28]: array([[1, 2, 5], [3, 4, 6]])
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【python】numpy库数组拼接快捷方式horizontal&vertical、np.c_、np.column_stack等官方文档详解与实例
- np.concatenate()、np.vstack()、np.hstack()拼接两个数组
- np.concatenate 数组拼接
- Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
- numpy.concatenate 数组拼接
- 详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
- Numpy:数组拼接:np.hstack() ; np.vstack() 数组拆分:np.hsplit() ;np.vsplit()
- python 数据处理 数组拼接concatenate
- php 排序数组,拼接字符串
- 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
- 【FastJSON】从JSON中提取出数组与用map拼接JSON
- Json 数组拼接
- 前台传入多个参数(数组格式),拼接成字符串中间用逗号隔开,传入到sql中用in查询.
- 探讨js字符串数组拼接的性能问题
- jq 数组定义,拼接~~~push应用
- np.r_ 数组合并
- PHP拼接数组
- js数组拼接
- tp5数组拼接成xml,xml解析成数组
- 拼接字符串数组使字典序最小