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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

numpy中数组维度的理解

發布時間:2025/1/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy中数组维度的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考
這篇文章主要是為了弄清楚數組按每個維度進行計算時,具體的操作是什么樣的。

一、數組中的各個維度表示的是什么?

為了便于理解,用單位體表示,剝去一層中括號后,得到的數據。

1. 以二維數組為例

import numpy as np np.random.seed(0) arr2 = np.random.randint(0,9,size=(4,3)) print(arr2) [[5 0 3][3 7 3][5 2 4][7 6 8]]

這個二維數組,總共有兩層中括號。在剝去最外層的中括號后,是4個3維的數組:[5 0 3],[3 7 3],[5 2 4],[7 6 8]。拿任意一個單位體舉例,如[5 0 3],剝去中括號,是3個單位體5,0,3.

2. 以3維數組舉例

arr2 = np.random.randint(0,9,size=(2,4,3)) [[[5 0 3][3 7 3][5 2 4][7 6 8]][[8 1 6][7 7 8][1 5 8][4 3 0]]]

這個三維數組,總共有三層中括號。在剝去最外層的中括號后,是2個(4,3)的數組(綠色方框表示的):

后面就和二維數組的表示方法相同。
數組剝去最外層中括號后,得到的單位體的個數表示第0個維度(axis=0)的大小,次外層就是第二個維度(axis=1)的大小,以此類推。

二、數組中按維度計算

  • 二維數組中按維度求和
  • arr.sum(axis=0)

    數組是尺寸是(4,3),按第0個維度求和后,維度為(3,)

    arr.sum(axis=1)

    2. 3維數組按維度求和

    2.3.1 axis=0

    數組是尺寸是(2,4,3),按第0個維度求和后,維度為(4,3).兩個(4,3)的矩陣,對應位置上的元素求和。
    剝去最外層中括號后的單位體上對應元素求和

    2.3.2 axis=1

    過程:
    數組是尺寸是(2,4,3),剝去最外層的中括號,是兩個單位體(4,3)——最外層單位體。兩個單位體再剝去一層中括號,得到4個(3,)的數組——次外層單位體。每個最外層單位體內的次外層單位體上相應位置的元素分別相加。
    尺寸是(2,4,3)按axis=1相加后,得到的結果的尺寸是(2,3)

    2.3.3 axis=2

    依照上面的做法,axis=?就將中括號剝到第幾層,然后對應位置上的元素相加。

    過程:
    數組是尺寸是(2,4,3),剝去最外層的中括號,是兩個單位體(4,3)——最外層單位體。兩個單位體再剝去一層中括號,得到4個(3,)的數組——次外層單位體。4個單位體再剝去最外層的中括號,得到3個次次單位體——標量。

    axis = 2 print('*'*10,' axis = %a'%(axis),'*'*10)# 這種格式輸出方式 print(arr.sum(axis=axis))

    總結

    以上是生活随笔為你收集整理的numpy中数组维度的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

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