<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Python中可以用numpy中的ndim和shape來分別檢視維度,以及在對應維度上的長度。直觀上可以根據符號“[ ]”的層數來判斷,有m層即為m維,最外面1層對應axis0, 依次為axis1,axis2…
c = np.array([[[1,2,3], [4,5,6]]]) c.ndim # 3 # 三維陣列 c.shape # (1, 2, 3) # 在axis 0 上的長度為1,在axis 1上的長度為2, 在axis 2上的長度為3. # 或者可以理解為1層2行3列
numpy.append(arr, values, axis=None)
1. 展平兩個陣列(Flattening Two Arrays)
arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[10, 20], [30, 40]]) # no axis provided, array elements will be flattened arr_flat = np.append(arr1, arr2) print(arr_flat) # [ 1 2 3 4 10 20 30 40]
2. 沿軸合併(Merging Along Axis)
arr_merged = np.append([arr1, arr2], axis=0) # 當 2×2 陣列沿 x 軸合併時,輸出陣列大小為 4×2 Merged 2x2 Arrays along Axis-0: [[ 1 2] [ 3 4] [10 20] [30 40]] arr_merged = np.append([arr1, arr2], axis=1) # 當 2×2 陣列沿 y 軸合併時,輸出陣列大小為 2×4 Merged 2x2 Arrays along Axis-1: [[ 1 2 10 20] [ 3 4 30 40]]
concatenate(a_tuple, axis=0, out=None)
arr1 = np.array([[1,2,3], [4,5,6]]) # shape: (2, 3) arr2 = np.array([[7,8,9], [11,12,13]]) np.concatenate((arr1, arr2)) # axis=0 array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [11, 12, 13]]) np.concatenate((arr1, arr2),axis=1) # 這裡沿第二個軸,即列方向進行拼接 array([[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 11, 12, 13]]) arr3 = np.array([[14,15,16]]) # shape: (1, 3) # 一般進行 concatenate 操作的 array 的 shape 需要一致 # 但如果 array 在拼接 axis 方向的 size 不一樣,也可以完成 # arr3 雖然在 axis_0 方向的長度不一致,但 axis1 方向上一致,所以沿 axis_0 可以拼接 np.concatenate((arr1, arr3)) # √ array([[ 1, 2, 3], [ 4, 5, 6], [14, 15, 16]]) # arr3 和 arr1 在 axis_0 方向的長度不一致,報錯 np.concatenate((arr1, arr3), axis=1)
np.hstack((arr1,arr2)) # 水平拼接,沿著行的方向,對列進行拼接 array([[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 11, 12, 13]]) np.vstack((arr1,arr2)) # 垂直拼接,沿著列的方向,對行進行拼接 array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [11, 12, 13]])
np.column_stack((arr1,arr2)) # 水平拼接,沿著行的方向,對列進行拼接 array([[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 11, 12, 13]]) np.row_stack((arr1,arr2)) # 垂直拼接,沿著列的方向,對行進行拼接 array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [11, 12, 13]])
np.r_[arr1,arr2] # 垂直拼接,沿著列的方向,對行進行拼接 array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [11, 12, 13]]) np.c_[arr1,arr2] # 水平拼接,沿著行的方向,對列進行拼接 array([[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 11, 12, 13]])
方法 | 拼接方式 |
---|---|
concatenate | 提供了axis引數,用於指定拼接方向 |
append | 預設先ravel再拼接成一維陣列,也可指定axis |
hstack | 水平拼接,沿著行的方向,對列進行拼接 |
vstack | 垂直拼接,沿著列的方向,對行進行拼接 |
column_stack | 水平拼接,沿著行的方向,對列進行拼接 |
row_stack | 垂直拼接,沿著列的方向,對行進行拼接 |
r_ | 垂直拼接,沿著列的方向,對行進行拼接 |
c_ | 水平拼接,沿著行的方向,對列進行拼接 |
對於兩個shape一樣的二維array來說:
增加行(對行進行拼接)的方法有:
array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [11, 12, 13]]) np.concatenate((ar1, ar2),axis=0) np.append(ar1, ar2, axis=0) np.vstack((ar1,ar2)) np.row_stack((ar1,ar2)) np.r_[ar1,ar2]
增加列(對列進行拼接)的方法有:
array([[ 1, 2, 3, 7, 8, 9], [ 4, 5, 6, 11, 12, 13]]) np.concatenate((ar1, ar2),axis=1) np.append(ar1, ar2, axis=1) np.hstack((ar1,ar2)) np.column_stack((ar1,ar2)) np.c_[ar1,ar2]
https://www.numpy.org.cn/reference/routines/array-manipulation.html#%E7%BB%84%E5%90%88%E6%95%B0%E7%BB%84
https://www.jb51.net/article/161997.htm
https://blog.csdn.net/u011913417/article/details/106904183
到此這篇關於numpy中陣列拼接、陣列合併方法的文章就介紹到這了,更多相關numpy陣列拼接陣列合併方法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45