日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

numpy 笔记:改变形态

發布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy 笔记:改变形态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 添加維度

原始數組如下:

import numpy as npa = np.array([1,2,3,4,5,6])a.shape #(6,)

1.1 np.newaxis

?1.2 None

?1.3 reshape

?

?1.4 np.expand_dims

expand_dims必須添加axis 參數,

axis=x表示新增加的維度是第x個維度?

2 減少維度

減少維度除了用reshape之外,還可以使用別的方法

2.1 squeeze

減少那些維度 shape 上為 1 的維度

只能減少那些維度 shape 上為 1 的維度。因為減掉這個維度,數據結構上是沒有變化的。

3 拼接矩陣

所用到的數組:

a=np.array([[1,2,3],[7,8,9]]) b=np.array([[4,5,6],[1,2,3]])a,b ''' (array([[1, 2, 3],[7, 8, 9]]),array([[4, 5, 6],[1, 2, 3]])) '''d=np.array([7,8,9]) e=np.array([1,2,3]) d,e ''' (array([7, 8, 9]), array([1, 2, 3])) '''

?3.1 按行連接

3.1.1 c_

np.c_[a,b] ''' array([[1, 2, 3, 4, 5, 6],[7, 8, 9, 1, 2, 3]]) '''np.c_[d,e] ''' array([[7, 1],[8, 2],[9, 3]]) '''

3.1.2? hstack

多行的時候,和c_是一樣的

對于單行的問題,hstack 里面是把行向量當作一行看的,c_是當作一列

np.hstack((a,b)) ''' array([[1, 2, 3, 4, 5, 6],[7, 8, 9, 1, 2, 3]])'''np.hstack((d,e)) ''' array([7, 8, 9, 1, 2, 3]) '''

3.1.3 column_stack

和c_是一樣的

np.column_stack((a,b)) ''' array([[1, 2, 3, 4, 5, 6],[7, 8, 9, 1, 2, 3]]) '''np.column_stack((d,e)) ''' array([[7, 1],[8, 2],[9, 3]]) '''

3.1.4 concatenate

np.concatenate((a,b),axis=1) ''' array([[1, 2, 3, 4, 5, 6],[7, 8, 9, 1, 2, 3]]) '''np.concatenate((d,e)) #array([7, 8, 9, 1, 2, 3])

3.2 按列排序

3.2.1 r_

np.r_[a,b] ''' array([[1, 2, 3],[7, 8, 9],[4, 5, 6],[1, 2, 3]]) '''np.r_[d,e] ''' array([7, 8, 9, 1, 2, 3]) '''

3.2.2 vstack

np.vstack((a,b)) ''' array([[1, 2, 3],[7, 8, 9],[4, 5, 6],[1, 2, 3]]) '''np.vstack((d,e)) ''' array([[7, 8, 9],[1, 2, 3]]) '''

3.3.3 row_stack

np.row_stack((a,b)) ''' array([[1, 2, 3],[7, 8, 9],[4, 5, 6],[1, 2, 3]]) '''np.row_stack((d,e))''' array([[7, 8, 9],[1, 2, 3]]) '''

3.3.4 concatenate

np.concatenate((a,b),axis=0) ''' array([[1, 2, 3],[7, 8, 9],[4, 5, 6],[1, 2, 3]]) '''

4 拆解

a = np.array( [[ 1, 11, 2, 22],[ 3, 33, 4, 44],[ 5, 55, 6, 66],[ 7, 77, 8, 88]] )

4.1 水平拆解 vsplit

np.vsplit(a, indices_or_sections=2) ''' [array([[ 1, 11, 2, 22],[ 3, 33, 4, 44]]),array([[ 5, 55, 6, 66],[ 7, 77, 8, 88]])] '''#拆分成[0:2) [2: np.vsplit(a, indices_or_sections=[2,3])''' [array([[ 1, 11, 2, 22],[ 3, 33, 4, 44]]),array([[ 5, 55, 6, 66]]),array([[ 7, 77, 8, 88]])] ''' # 拆分成[0:2),[2:3),[3:)

4.2 垂直拆解 hsplit

a = np.array( [[ 1, 11, 2, 22],[ 3, 33, 4, 44],[ 5, 55, 6, 66],[ 7, 77, 8, 88]] ) np.hsplit(a, indices_or_sections=2) ''' [array([[ 1, 11],[ 3, 33],[ 5, 55],[ 7, 77]]),array([[ 2, 22],[ 4, 44],[ 6, 66],[ 8, 88]])] ''' #[0:2),[2,) np.hsplit(a, indices_or_sections=[2,3]) ''' [array([[ 1, 11],[ 3, 33],[ 5, 55],[ 7, 77]]),array([[2],[4],[6],[8]]),array([[22],[44],[66],[88]])] ''' #分成[0:2),[2:3),[3:)

4.3 綜合切法 split

a = np.array( [[ 1, 11, 2, 22],[ 3, 33, 4, 44],[ 5, 55, 6, 66],[ 7, 77, 8, 88]] ) np.split(a, indices_or_sections=2,axis=0) ''' [array([[ 1, 11, 2, 22],[ 3, 33, 4, 44]]),array([[ 5, 55, 6, 66],[ 7, 77, 8, 88]])] '''#切完之后是 [[0:2)][.....] [[2:)][.....] np.split(a, indices_or_sections=2,axis=1) ''' [array([[ 1, 11],[ 3, 33],[ 5, 55],[ 7, 77]]),array([[ 2, 22],[ 4, 44],[ 6, 66],[ 8, 88]])] '''#切完之后是 [.....][[0:2)] [.....][[2:)]

總結

以上是生活随笔為你收集整理的numpy 笔记:改变形态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。