Numpy筆記註解,看完我連Matlab都學會了!

2021-01-18 PythonerCN

文章內容大多數取自網絡&官網快速入門等,希望可以幫助大家快速入門Numpy。

如果你有Matlab基礎,那麼你能很快看懂本文!

一個慄子

創建矩陣

對於Python中的numpy模塊,一般用其提供的ndarray對象。 創建一個ndarray對象很簡單,只要將一個list作為參數即可。 例如:

矩陣行數列數


矩陣按行列選取

矩陣的截取和list相同,可以通過[](方括號)來截取

矩陣按條件截取

按條件截取應用較多的是對矩陣中滿足一定條件的元素變成特定的值。 例如將矩陣中大於6的元素變成0

Stacking together different arrays

矩陣的合併可以通過numpy中的hstack方法和vstack方法實現:

np.concatenate( (a1,a2), axis=0 ) 等價於 np.vstack( (a1,a2) )

np.concatenate( (a1,a2), axis=1 ) 等價於 np.hstack( (a1,a2) )

通過函數創建矩陣

arange

linspace/ logspace

ones、zeros、eye、empty

ones創建全1矩陣 ,zeros創建全0矩陣 ,eye創建單位矩陣 ,empty創建空矩陣(實際有值)

fromstring

fromstring()方法可以將字符串轉化成ndarray對象,需要將字符串數位化時這個方法比較有用,可以獲得字符串的ascii碼序列。

random

fromfunction

fromfunction()方法可以根據矩陣的行號列號生成矩陣的元素。 例如創建一個矩陣,矩陣中的每個元素都為行號和列號的和。

矩陣的運算

常用矩陣運算符

Numpy中的ndarray對象重載了許多運算符,使用這些運算符可以完成矩陣間對應元素的運算。

運算符說明+矩陣對應元素相加-矩陣對應元素相減*矩陣對應元素相乘/矩陣對應元素相除,如果都是整數則取商%矩陣對應元素相除後取餘數**矩陣每個元素都取n次方,如**2:每個元素都取平方

常用矩陣函數

同樣地,numpy中也定義了許多函數,使用這些函數可以將函數作用於矩陣中的每個元素。 表格中默認導入了numpy模塊,即 import numpy as np 。a為ndarray對象。

常用矩陣函數說明np.sin(a)對矩陣a中每個元素取正弦,sin(x)np.cos(a)對矩陣a中每個元素取餘弦,cos(x)np.tan(a)對矩陣a中每個元素取正切,tan(x)np.arcsin(a)對矩陣a中每個元素取反正弦,arcsin(x)np.arccos(a)對矩陣a中每個元素取反餘弦,arccos(x)np.arctan(a)對矩陣a中每個元素取反正切,arctan(x)np.exp(a)對矩陣a中每個元素取指數函數,exnp.sqrt(a)對矩陣a中每個元素開根號

矩陣乘法(點乘)

矩陣乘法必須滿足矩陣乘法的條件,即第一個矩陣的列數等於第二個矩陣的行數。 矩陣乘法的函數為 dot 。

矩陣的轉置 a.T

矩陣的轉置還有更簡單的方法,就是a.T。

矩陣的逆

設A是數域上的一個n階方陣,若在相同數域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。

求矩陣的逆需要先導入numpy.linalg,用linalg的inv函數來求逆。矩陣求逆的條件是矩陣應該是方陣。

矩陣信息獲取(如均值等)

最值

獲得矩陣中元素最大最小值的函數分別是max和min,可以獲得整個矩陣、行或列的最大最小值。

平均值

獲得矩陣中元素的平均值可以通過函數mean()。同樣地,可以獲得整個矩陣、行或列的平均值。

方差

方差的函數為var(),方差函數var()相當於函數mean(abs(x - x.mean())**2),其中x為矩陣。

標準差

標準差的函數為std()。 std()相當於sqrt(mean(abs(x - x.mean())**2)),或相當於sqrt(x.var())。

中值

中值指的是將序列按大小順序排列後,排在中間的那個值,如果有偶數個數,則是排在中間兩個數的平均值。中值的函數是median(),調用方法為numpy.median(x,[axis]),axis可指定軸方向,默認axis=None,對所有數取中值。

求和

矩陣求和的函數是sum(),可以對行,列,或整個矩陣求和

累積和

某位置累積和指的是該位置之前(包括該位置)所有元素的和。例如序列[1,2,3,4,5],其累計和為[1,3,6,10,15],即第一個元素為1,第二個元素為1+2=3,……,第五個元素為1+2+3+4+5=15。矩陣求累積和的函數是cumsum(),可以對行,列,或整個矩陣求累積和。

極差

百分位數

序號參數及描述1.a 輸入數組2.q 要計算的百分位數,在 0 ~ 100 之間3.axis 沿著它計算百分位數的軸

加權平均值

形狀處理

改變數組的形狀

數組的形狀可以用以下方式改變。注意,下面的三個命令都返回一個修改後的數組,但不改變原始數組:

整形函數用修改的形狀返回它的參數,而NDARRA.ReSIZE方法修改數組本身:

如果在整形操作中給出尺寸為-1,則其他尺寸自動計算:

把一個數組分成幾個小數組

 

使用HSPLE,可以通過指定要返回的等形狀數組的數量,或者通過指定在其中發生除法的列來將數組沿水平軸拆分:

拷貝和視圖

當操作和操作數組時,它們的數據有時被複製到一個新數組中,有時不被複製。這往往是初學者的困惑源。有三種情況:

根本沒有複製品

a = b,改變b就相當於改變a,或者相反。

視圖或淺拷貝

不同的數組對象可以共享相同的數據。View方法創建一個新的數組對象,該對象查看相同的數據。

切片數組返回它的視圖:

 

 

深拷貝

複製方法完成數組及其數據的完整複製。

曼德勃羅

購買《0基礎小白學Python》或《全能的Python:極客編程》真愛粉可通過《瘋狂的Python》公告連結購買,要不然平臺會收高額手續費

相關焦點

  • Numpy基礎,一位Python大神的筆記,看了後我連Matlab都學會了!
    果然是人生苦短,我用Python。所以本文作為一個記錄&筆記,文章內容大多數取自網絡以&官網快速入門等,希望可以幫助大家快速入門Numpy。如果你有Matlab基礎,那麼你能很快看懂本文!(私信小編007即可獲取Python視頻教程以及各類PDF!)一個慄子
  • Python學習筆記:日期圖表的詳細設置,圖例和註解及坐標軸移動
    圖一2.圖例與註解#導入需要使用的包from matplotlib.pyplot import *#x1、x2、x3生成都是指生成100個正態分布的值# 以x=np.random.normal(m,n,t)
  • MATLAB基礎教程-臺大郭彥甫-學習筆記6
    第三個參數是 積分 這個變量str,後面是一個插值slash 反斜槓 \int 是∫符號積分的表示:str=' $$ \int_ {0}^{2} x^2\sin(x) dx$$';前後都有兩個$$,然後是積分符號,\int_ 然後是上下限 {0}^{2},之後就是一個被積函數 x^2\sin(x
  • 我居然被寫進了小說?看完這本學術爽文後我欲罷不能
    他能2小時學會matlab,並且當場輸出一套算法編程。matlab光軟體安裝包都有7個多G,2個小時你能把matlab裝好就不錯了!程諾能2小時就學會,這得是量子波動速讀十年學員才有的功力吧!緊接著,程諾10小時就發了一篇SCI!搞得師兄王根基都懷疑人生了。
  • 看完他們的筆記,我不厚道的笑出了「豬叫聲」
    看著他們的筆記,我厚顏無恥地笑著「豬的叫聲」。學習英語可以說是我們上學時的噩夢,英語是世界上最被使用的語言,記單詞很好,讓人絕望的是它的各種時態,什麼現在進行時、進行時,這裡小編就帶大家看看在古時清朝人是怎麼學英語的?
  • 如何用Matlab/Python/Stata做簡單回歸分析
    matlab內置的函數,直接就可以用於求回歸中比較常見的描述性統計、相關係數矩陣;第二段就是求beta_ols的步驟了,定義好X和Y後就直接計算即可,因為matlab是個專用於科學計算的軟體,因此矩陣相乘、求逆、轉置都很方便(一會你看看下面的Python就知道為什麼說matlab方便);第三段就是帶入求各種R方的過程了, 其中很有意思的是求某個列向量的平方和,其實是直接用它的轉置再乘自身。
  • Matlab:不定積分和定積分
    matlab中使用int()來計算一個積分。不定積分首先,通過符號變量創建一個符號函數,然後調用積分命令來計算函數的積分,示例如下:注意:matlab中計算的不定積分結果中沒有寫上常數C,讀者需要自己在使用的時候記得加上常數部分。
  • 看到筆記後,原諒我笑出拖拉機聲
    英語這門學科,我相信很多孩子會頭疼,包括小編在內,學生時代也在努力學習英語,英語作為一門外語,對我們來說很難,但是和外國人相比,我學習中文,英語真的很簡單,一點也沒有。英語作為一種語言,在清朝末期已經成為一門必要的外語學科,清朝的時候也沒有錄音機,他們是怎麼學習英語的呢?
  • 134頁高中物理學霸筆記,必修+選修知識大全,把知識變成自己的
    再好的記性也總有忘記的時候,就連學霸都有筆記的好吧!那我們自己應該怎麼做好筆記呢,高中的物理系統性很強,概念性也強,規律密集,敘述簡練而又嚴謹,每一個關鍵詞都隱藏著豐富的含義,都需要理解它裡面的意思,每次理解過後,可能總會忘記它,這時候我們就可以把這個關鍵詞,關鍵的一句話,劃下來,在旁邊註解一下什麼意思。
  • Python數據分析類庫系列-Numpy之多維數組ndarray
    要明白Python是如何利用與標量值類似的語法進行批次計算,我先引入NumPy,然後生成一個包含隨機數據的小數組: import numpy as np data = np.random.randn(2,3)data out:
  • 數據分析-numpy庫快速了解
    NumPy是SciPy、Pandas等數據處理或科學計算庫的基礎2.numpy庫有什麼用numpy用途是很廣的,涉及到數字計算等都可以使用,它的優勢在於底層是C語言開發的數據非常快。 數組對象可以去掉元素間運算所需的循環,使一維向量更像單個數據 設置專門的數組對象,經過優化,可以提升這類應用的運算速度觀察:科學計算中,一個維度所有數據的類型往往相同 數組對象採用相同的數據類型,有助於節省運算和存儲空間具體可以看下面一個例子:(來源嵩天老師案例)3.numpy庫怎麼使用先安裝numpy
  • Transformer註解及PyTorch實現(上)
    所以我們為此文章寫了篇註解文檔,並給出了一行行實現的Transformer的代碼。本文檔刪除了原文的一些章節並進行了重新排序,並在整個文章中加入了相應的註解。此外,本文檔以Jupyter notebook的形式完成,本身就是直接可以運行的代碼實現,總共有400行庫代碼,在4個GPU上每秒可以處理27,000個tokens。
  • matlab矩陣及其運算(三)
    有流量的可以直接戳視頻二狗在用matlab學習編程過程中,發現matlab中有大量矩陣運算,矩陣的知識了解不到位,在學習算法的過程中無法找到合適的解決問題的方法或者出現編程錯誤。好比英語發音規則都不懂,如何說一口流利的英語?地基不牢,地動山搖。這不前兩天二狗做BP算法的時候涉及到矩陣求導,這可難到二狗了,非方陣矩陣的逆矩陣怎麼求?
  • 學霸生物筆記走紅:手繪線粒體逆天了
    近日,一條關於#學霸手繪筆記#的微博引燃網絡。重慶晨報記者在微博中稱,「重慶外國語學校高三理科班學生們在校園裡展示出來的課堂筆記讓不少人頂禮膜拜。在這些筆記中,不僅有工整的註解,還配上了生動的手繪圖。
  • 高中生手繪心臟圖用英文註解 醫學院大學生看完都驚呆了
    這份生物作業將心臟畫得萌萌噠,像個紅心寶寶,最讓人驚呼的是註解全是英文,就連醫科大學在校生也感嘆:「上面的一些英文註解還真是看不懂。」24日,上遊新聞-重慶晨報記者從學校了解到,這份手繪心臟圖出自一個17歲的女孩方予之手。小方是高二學生,她謙虛地告訴記者,這是老師布置的寒假作業,「讓我們將上學期學過的重要知識點梳理一下。」
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • 不好好學習連情書都看不懂!這群00後的戀愛表白,腦洞大開
    也難怪我的愛,是橫波啊。這首三行詩表達的意思是:地震波分為橫波和縱波,橫波只能在固體中傳播,而縱波能在固體、液體中傳播。所以,女孩的心是水做的,我的愛是橫波,我怎麼努力都傳不到女孩的心裡啊!看完高中生們交上來的作業程老師很感慨:現在小朋友們遠比我們想像中要成熟,感情豐富這樣的詩歌也讓老師和家長有一個途徑更加走進孩子的心境你離開的那一天如自西向東越過180°只剩昨日,沒有明天當程鋒將優秀作品發到朋友圈後家長們還集體點讚其他優秀作品在此
  • matlab矩陣及其運算(五)
    感謝大家對matlab愛好者公眾號的關注!如果公眾號文章對您有幫助,別忘了點擊分享和「在看」哦!
  • 看完這些,與英語無緣的我閉嘴了
    沒錯,我就是那個英語極差的同學。語文數學課腦袋高高昂起,到英語課腦袋耷拉著,根本不抬頭。我眼中的英語真的是我的剋星,我一度覺得它很難很難,那一個個的字母分開都認識,可是組合在一起,不會讀更不會背,真的覺得沒有比英語更難的科目了。隨著漢語國際化,越來越多的外國人開始學習漢語,對他們來說,漢語更是相當困難。那麼外國人眼中的漢語是怎樣的?
  • 我們的筆記,是給誰看的?官兵們記筆記的意義在於什麼?
    我們的筆記,是給誰看的?  ■劉葆旭  在跟隨機關檢查組下基層檢查時,我發現一個現象:官兵們的教育筆記寫得工工整整,內容近乎一模一樣,但隨機抽問核實時,很多戰士一問三不知,偶爾有幾個能回答上來的,也是模稜兩可、似是而非。  為什麼會出現這種情況?經過調查得知,有的連隊定期下發各種筆記模板,利用休息時間集中組織官兵抄筆記。