那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Numpy詳解-軸的概念

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-04-25 10:25 ? 次閱讀

首先就是大腸包小腸,這就是軸的概念,除了這個還真的沒有什么別的想法。

最近用numpy,越用這個東西越發(fā)現(xiàn)一些基礎(chǔ)概念不明朗,這里簡單的記錄一下。

4570ff4a-c43e-11ec-bce3-dac502259ad0.png

先生成一個三維的數(shù)組

459697be-c43e-11ec-bce3-dac502259ad0.png

打印出來的樣子

45ac831c-c43e-11ec-bce3-dac502259ad0.png

從內(nèi)最小的開始看起,分別是元素,2,3,4

以小[]來界定

45c22b90-c43e-11ec-bce3-dac502259ad0.png

也就是說,首先是一個特別大的整體,一個數(shù)組,接著是里面4個小數(shù)組,每一個小數(shù)組里面有3個小數(shù)組,小數(shù)組內(nèi)的單元是一個數(shù)對來構(gòu)成的。

其實這就是軸的概念,只是因為是扁平化的,不直觀。

axis=2

axis=1

axis=0

45d50058-c43e-11ec-bce3-dac502259ad0.png

按照順序來填充

45e62216-c43e-11ec-bce3-dac502259ad0.png

按照數(shù)組0軸來相加

46038a0e-c43e-11ec-bce3-dac502259ad0.png

就是加的這個位置的元素

[[0+ 6+12+18=36 1+ 7+13+19=40] [2+ 8+14+20=44 3+ 9+15+21=48] [4+10+16+22=52 5+11+17+23=56]]

46187f68-c43e-11ec-bce3-dac502259ad0.png

再看一個

4633b71a-c43e-11ec-bce3-dac502259ad0.png

就是這樣吧

[[ 0+ 1=1 2+ 3=5 4+ 5=9] [ 6+ 7=13 8+ 9=17 10+11=21] [12+13=25 14+15=29 16+17=33] [18+19=37 20+21=41 22+23=45]]

464b34c6-c43e-11ec-bce3-dac502259ad0.png

這個就沒有什么好說的了吧

46609c08-c43e-11ec-bce3-dac502259ad0.png

其中第一軸是最大的稱為0號,

其次開始從左到右依次的放置

NumPy數(shù)組的維數(shù)稱為秩(rank),一維數(shù)組的秩為1,二維數(shù)組的秩為2,以此類推。在NumPy中,每一個線性的數(shù)組稱為是一個軸(axes),秩其實是描述軸的數(shù)量。比如說,二維數(shù)組相當(dāng)于是兩個一維數(shù)組,其中第一個一維數(shù)組中每個元素又是一個一維數(shù)組。所以一維數(shù)組就是NumPy中的軸(axes),第一個軸相當(dāng)于是底層數(shù)組,第二個軸是底層數(shù)組里的數(shù)組。而軸的數(shù)量——秩,就是數(shù)組的維數(shù)。

NumPy的數(shù)組中比較重要ndarray對象屬性有:

1.ndarray.ndim:數(shù)組的維數(shù)(即數(shù)組軸的個數(shù)),等于秩。最常見的為二維數(shù)組(矩陣)。

2.ndarray.shape:數(shù)組的維度。為一個表示數(shù)組在每個維度上大小的整數(shù)元組。例如二維數(shù)組中,表示數(shù)組的“行數(shù)”和“列數(shù)”。ndarray.shape返回一個元組,這個元組的長度就是維度的數(shù)目,即ndim屬性。

3.ndarray.size:數(shù)組元素的總個數(shù),等于shape屬性中元組元素的乘積。

4.ndarray.dtype:表示數(shù)組中元素類型的對象,可使用標(biāo)準(zhǔn)的Python類型創(chuàng)建或指定dtype。另外也可使用前一篇文章中介紹的NumPy提供的數(shù)據(jù)類型。

5.ndarray.itemsize:數(shù)組中每個元素的字節(jié)大小。例如,一個元素類型為float64的數(shù)組itemsiz屬性值為8(float64占用64個bits,每個字節(jié)長度為8,所以64/8,占用8個字節(jié)),又如,一個元素類型為complex32的數(shù)組item屬性為4(32/8)。

6.ndarray.data:包含實際數(shù)組元素的緩沖區(qū),由于一般通過數(shù)組的索引獲取元素,所以通常不需要使用這個屬性。

其實進(jìn)一步的,是闡述了一種方向的問題:在二維數(shù)組中axis=0是按列的,axis=1意味著按行。

468405b2-c43e-11ec-bce3-dac502259ad0.png

這個圖太漂亮了

事實上,到這里的時候還是沒有說明白主要的軸到底是怎么出來的,那繼續(xù)。

46a74310-c43e-11ec-bce3-dac502259ad0.png

軸是行列的方向

如果是多維的數(shù)組,那axis=0就是向下的軸,axis=1是往右延的軸。

這些東西影響著你未來作用到上面的函數(shù),該算哪些東西。而且進(jìn)行計算的時候是會進(jìn)行折疊,就是從這些指定的位置采用運算規(guī)律。

46c7cb9e-c43e-11ec-bce3-dac502259ad0.png

就是這樣的,加到一起,2就變成了1

46ec82e0-c43e-11ec-bce3-dac502259ad0.png

axis=0的拼接方式

471597ac-c43e-11ec-bce3-dac502259ad0.png

axis=1,橫向拼接

結(jié)論:將NumPy軸視為我們可以執(zhí)行操作的方向。

接下來再補充一些,別的理解,盡量我們一篇文章解決這個問題。

473a0e3e-c43e-11ec-bce3-dac502259ad0.png

這個也是

47635046-c43e-11ec-bce3-dac502259ad0.png

這個圖是讓我喜歡的不行,它清楚的展示了這個數(shù)組軸的包含關(guān)系

47aa845c-c43e-11ec-bce3-dac502259ad0.png

數(shù)組之間的算數(shù)關(guān)系

47d62eea-c43e-11ec-bce3-dac502259ad0.png

運算緊湊,使用了非動態(tài)的特性

4800da00-c43e-11ec-bce3-dac502259ad0.png

使用Python的列表語法可以輕松的創(chuàng)建一個數(shù)組,要確保元素都一致

4821d642-c43e-11ec-bce3-dac502259ad0.png

由于數(shù)組的原因,沒有了動態(tài)添加元素的特性,所以只能提前的把位置留好。

4844936c-c43e-11ec-bce3-dac502259ad0.png

再有了變量的情況先,可以使用like函數(shù)生成一個相似的數(shù)組

485dd584-c43e-11ec-bce3-dac502259ad0.png

提供了完整的生成函數(shù)

487e3cde-c43e-11ec-bce3-dac502259ad0.png

可以使用單調(diào)序列初始化數(shù)組

48a88908-c43e-11ec-bce3-dac502259ad0.png

arange對浮點不太友好

48d6e7bc-c43e-11ec-bce3-dac502259ad0.png

隨機(jī)數(shù)組也可以生成,這個太常見了

生成完成了,下一個階段就是取數(shù)了;

48fe13dc-c43e-11ec-bce3-dac502259ad0.png

就像這樣,通過索引來切割

49273e24-c43e-11ec-bce3-dac502259ad0.png

布爾和掩碼真的是太好用了!!!!

495cfba4-c43e-11ec-bce3-dac502259ad0.png

還有專有的函數(shù),大規(guī)模的進(jìn)行取數(shù)操作

49821844-c43e-11ec-bce3-dac502259ad0.png

向量化操作無疑是最引人注目的東西

49a6f7e0-c43e-11ec-bce3-dac502259ad0.png

浮點也OJBK

49c47ee6-c43e-11ec-bce3-dac502259ad0.png

常見函數(shù)不在話下,矢量化的意義在于可以同時操作海量數(shù)據(jù),具有天然的并行化。

49e4f77a-c43e-11ec-bce3-dac502259ad0.png

這是內(nèi)積和叉積

4a04794c-c43e-11ec-bce3-dac502259ad0.png

三角函數(shù)不能少

4a255c34-c43e-11ec-bce3-dac502259ad0.png

四舍五入的操作也有

4a487386-c43e-11ec-bce3-dac502259ad0.png

關(guān)于統(tǒng)計的功能也有

4a709ef6-c43e-11ec-bce3-dac502259ad0.png

矩陣的初始化,注意參數(shù)的位置,先行,后列

4a98bd14-c43e-11ec-bce3-dac502259ad0.png

隨機(jī)矩陣也是經(jīng)常要用的

4ac9542e-c43e-11ec-bce3-dac502259ad0.png

索引語法要好好的看,注意是從0開始,記得+1

4af8cc18-c43e-11ec-bce3-dac502259ad0.png

上面放過這個圖,但是為了完整性,這里再放一次

4b182e50-c43e-11ec-bce3-dac502259ad0.png

@計算矩陣的乘積

4b3bc6e4-c43e-11ec-bce3-dac502259ad0.png

廣播機(jī)制,這個怎么說呢。就是運算我們一般是規(guī)模相同的進(jìn)行計算,不相同的時候需要變的相同。其實就是一套規(guī)則。

4b5077e2-c43e-11ec-bce3-dac502259ad0.png

先簡單點,規(guī)模一樣

4b61c092-c43e-11ec-bce3-dac502259ad0.png

這個就不一樣了

4b7efc02-c43e-11ec-bce3-dac502259ad0.png

這就是廣播,先是維數(shù)的調(diào)整,兩個維數(shù)一致,接著調(diào)整內(nèi)部的參數(shù)

4b3bc6e4-c43e-11ec-bce3-dac502259ad0.png

你看這個,9x9與后面這樣的東西運算,不就是要使用廣播嗎?

4bb68668-c43e-11ec-bce3-dac502259ad0.png

轉(zhuǎn)置

4bd88bdc-c43e-11ec-bce3-dac502259ad0.png

數(shù)組重構(gòu)

4bff1cd4-c43e-11ec-bce3-dac502259ad0.png

互相之間的轉(zhuǎn)換圖,這個要記住

4c2210fe-c43e-11ec-bce3-dac502259ad0.png

拼接操作,我也寫過

4c53fcae-c43e-11ec-bce3-dac502259ad0.png

也是拼接

4c754580-c43e-11ec-bce3-dac502259ad0.png

拆分

4c9c3bf4-c43e-11ec-bce3-dac502259ad0.png

tile復(fù)雜黏貼,repeat是分頁打印

4cc10b00-c43e-11ec-bce3-dac502259ad0.png

這個是可以刪除對應(yīng)的行列,這不就是白給

4ce517f2-c43e-11ec-bce3-dac502259ad0.png

插入操作

4d0b7f0a-c43e-11ec-bce3-dac502259ad0.png

邊界添加常數(shù),就好像鑲邊一樣

下面的內(nèi)容有趣:

4d2dad96-c43e-11ec-bce3-dac502259ad0.png

創(chuàng)建這樣的東西,C和Python的做法是這樣的

4d588fe8-c43e-11ec-bce3-dac502259ad0.png

matlab這樣做,相對于先生成兩個行向量,接著開始廣播,運算

4d7770e8-c43e-11ec-bce3-dac502259ad0.png

這個地方是numpy的做法,效率更高。上面是生成網(wǎng)格的算法

4d94ba86-c43e-11ec-bce3-dac502259ad0.png

numpy的排序算法有點問題,這里就不討論了,因為我也沒有搞明白

4db7681a-c43e-11ec-bce3-dac502259ad0.png

返回索引,其實就是坐標(biāo),有時位置是很重要的

4de5c354-c43e-11ec-bce3-dac502259ad0.png

all和any就是有沒有的問題

4e0d2f16-c43e-11ec-bce3-dac502259ad0.png

三維的接下來會說

4e4af350-c43e-11ec-bce3-dac502259ad0.png

至于形狀怎么樣,會看你的約定。

接下來再加點東西,也不知道有沒有人能看到這里。

4e7e47aa-c43e-11ec-bce3-dac502259ad0.png

上面頻繁的說了拼接的事情,這里帶你看看有什么參數(shù)

4e9bb06a-c43e-11ec-bce3-dac502259ad0.jpg

這個圖沒什么用,我就是覺得好看

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 元素
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    8469
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13662
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    26028

原文標(biāo)題:Numpy詳解-軸的概念

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Chart FX——坐標(biāo)簡介

    坐標(biāo)是最重要的元素之一,因為讀者需要借由其所包含的信息來理解圖表。在大多數(shù)情況下,圖表是以 XY 坐標(biāo)系繪制的。數(shù)值或 Y 顯示數(shù)值數(shù)據(jù)所代表的數(shù)值范圍,而類別或 X 則顯示圖
    的頭像 發(fā)表于 01-07 11:05 ?159次閱讀
    Chart FX——坐標(biāo)<b class='flag-5'>軸</b>簡介

    模組和多模組的區(qū)別

    在工業(yè)自動化領(lǐng)域,單與多機(jī)器人占據(jù)了市場的主導(dǎo)地位.
    的頭像 發(fā)表于 12-31 17:45 ?233次閱讀
    單<b class='flag-5'>軸</b>模組和多<b class='flag-5'>軸</b>模組的區(qū)別

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發(fā)表于 11-11 11:10 ?325次閱讀

    使用MSPM0 MCU設(shè)計單和三自拍桿

    電子發(fā)燒友網(wǎng)站提供《使用MSPM0 MCU設(shè)計單和三自拍桿.pdf》資料免費下載
    發(fā)表于 09-02 09:45 ?0次下載
    使用MSPM0 MCU設(shè)計單<b class='flag-5'>軸</b>和三<b class='flag-5'>軸</b>自拍桿

    測徑儀詳解與應(yīng)用

    測徑儀是一種用于測量材料直徑或其他細(xì)長物體尺寸的精密儀器。以下是對單測徑儀的詳細(xì)介紹: 一、定義與應(yīng)用 單測徑儀通過非接觸式測量技術(shù),如激光束或光學(xué)投影儀,對物體的直徑、厚度、寬度等幾何尺寸
    發(fā)表于 08-20 17:34

    和雙測徑儀在線纜方面的應(yīng)用

    測徑儀的應(yīng)用 單測徑儀主要用于檢測線纜的單個方向外徑尺寸,適用于圓度良好且不需要檢測不圓度的線纜。它通過光電檢測原理進(jìn)行高精度尺寸檢測,內(nèi)置PID調(diào)節(jié)功能,可以控制牽引機(jī)或擠出機(jī)的速度,完成
    發(fā)表于 08-16 17:48

    使用NumPy實現(xiàn)前饋神經(jīng)網(wǎng)絡(luò)

    要使用NumPy實現(xiàn)一個前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network),我們需要從基礎(chǔ)開始構(gòu)建,包括初始化網(wǎng)絡(luò)參數(shù)、定義激活函數(shù)及其導(dǎo)數(shù)、實現(xiàn)前向傳播、計算損失函數(shù)、以及實現(xiàn)
    的頭像 發(fā)表于 07-11 16:30 ?1979次閱讀

    機(jī)器視覺控制運動原理是什么

    機(jī)器視覺控制運動原理是一個復(fù)雜而深入的主題。下面將從以下幾個方面進(jìn)行介紹: 機(jī)器視覺概述 機(jī)器視覺是一種模擬人類視覺的計算機(jī)技術(shù),通過圖像采集、處理和分析來實現(xiàn)對物體的識別、定位、測量和分類等功能
    的頭像 發(fā)表于 07-04 10:42 ?621次閱讀

    EtherCAT PLC帶數(shù)的限制影響因素

    EtherCAT PLC帶數(shù)的限制主要受到以下幾個方面的影響: (1)PLC型號和規(guī)格: 不同型號的PLC支持的數(shù)不同,如廣成科技GCAN-PLC-530最多支持24。 (2)硬件限制
    的頭像 發(fā)表于 06-11 16:07 ?1224次閱讀

    python 學(xué)習(xí):在內(nèi)網(wǎng)中 python庫-numpy 安裝方法,升級pip3版本的指令

    指令格式如下:先下載numpy庫到C盤具體位置 手動安裝指令如下: pip install c:\\\\users\\\\sesa738142
    發(fā)表于 04-22 17:18

    陀螺儀x和y的應(yīng)用

    陀螺儀是一種用于測量和感應(yīng)物體旋轉(zhuǎn)和轉(zhuǎn)動的設(shè)備,它通常由三個組成:x、y和z。在陀螺儀中,x和y
    發(fā)表于 04-17 15:42 ?0次下載

    OpenHarmony中SELinux使用詳解

    OpenHarmony中SELinux使用詳解 目錄 1.SELinux簡介 2.SELinux概念 3.SELinux模式 4.OH中SELinux使用詳解 5.OH中SELinux報錯
    發(fā)表于 04-03 10:43

    如何修復(fù)烘缸磨損的

    電子發(fā)燒友網(wǎng)站提供《如何修復(fù)烘缸磨損的.docx》資料免費下載
    發(fā)表于 03-07 16:26 ?0次下載

    烘缸磨損的修復(fù)

    電子發(fā)燒友網(wǎng)站提供《烘缸磨損的修復(fù).docx》資料免費下載
    發(fā)表于 03-01 10:36 ?0次下載

    如何修復(fù)烘缸磨損

    電子發(fā)燒友網(wǎng)站提供《如何修復(fù)烘缸磨損.docx》資料免費下載
    發(fā)表于 02-18 10:21 ?0次下載
    四房播播| 威尼斯人娱乐城怎样赢| 澳门百家乐官网是骗人的| 百家乐庄闲偏差有多大| 武汉百家乐官网庄闲和| 德州扑克 单机| 百家乐官网双倍派彩的娱乐城| 大发888备用网址大发娱乐城| 好运来百家乐官网的玩法技巧和规则 | 百家乐官网优惠高的网址| 威尼斯人娱乐网代理| 大地百家乐官网的玩法技巧和规则| 皇冠在线投注网| 百家乐赌场策略大全| 百家乐官网赌博牌路分析| 大发888 注册| 什么风水适合做生意| 广德县| 威尼斯人娱乐城海立方| 金道百家乐游戏| 美高梅百家乐官网娱乐城| 太阳城橙翠园| 百家乐博彩博彩网| 百家乐官网轮盘桌| 娱乐城去澳门| 菲律宾百家乐赌场娱乐网规则| 巴比伦百家乐官网的玩法技巧和规则| 景洪市| 大发888大发888娱乐城| 百家乐软件编辑原理| 百家乐官网服务区| 宝马娱乐城| 大发888在线娱乐城| 棋牌易发| 网络百家乐| 百家乐智能分析软| 二八杠生死门口诀| 网上百家乐哪里开户| 百家乐官网推筒子| 扬中市| 大发888娱乐亚洲|