【numpy筆記_11】線性代數(shù)澎办、深淺拷貝

今天介紹一下numpy在線性代數(shù)方面的計算,使用并不復雜都是調用方法金砍。用到的同學記一記局蚀,用不到跳過也無妨。

顯而易見筆者一般用不到恕稠,所以到網(wǎng)上找了資料匯總在下面琅绅。


線性代數(shù)運算

函數(shù) 描述
dot 兩個數(shù)組的點積
vdot 兩個向量的點積
inner 兩個數(shù)組的內積
matmul 兩個數(shù)組的矩陣積
linalg.det 計算輸入矩陣的行列式
linalg.solve 求解線性矩陣方程
linalg.inv 計算矩陣的逆矩陣

使用時直接向函數(shù)傳入數(shù)組對象,像這樣:

import numpy as np
arr1 = np.arange(1,12,2).reshape(2, 3)
arr2 = np.arange(2,13,2).reshape(3, 2)
arr3 = np.arange(13,24,2).reshape(2, 3)
print('arr1數(shù)組:\n', arr1)
print('arr2數(shù)組:\n', arr2)
print('arr3數(shù)組:\n', arr3)
print('arr1和arr2的點積 dot:\n', np.dot(arr1, arr2))
print('arr1和arr3的內積 inner:\n', np.inner(arr1, arr3))
# 運行結果:
arr1數(shù)組:
 [[ 1  3  5]
 [ 7  9 11]]
arr2數(shù)組:
 [[ 2  4]
 [ 6  8]
 [10 12]]
arr3數(shù)組:
 [[13 15 17]
 [19 21 23]]
arr1和arr2的點積 dot:
 [[ 70  88]
 [178 232]]
arr1和arr3的內積 inner:
 [[143 197]
 [413 575]]

深拷貝和淺拷貝

deepcopy鹅巍,如果python基礎學的不錯應該知道怎么個事千扶。
簡言之,拷貝就是復制一份數(shù)據(jù)骆捧,包含深拷貝和淺拷貝澎羞。深拷貝是創(chuàng)建一份新的數(shù)據(jù),值相同但地址不同敛苇,兩組數(shù)據(jù)完全獨立妆绞;淺拷貝則是復制數(shù)據(jù)的地址,原數(shù)據(jù)變化時枫攀,副本數(shù)據(jù)跟著變化括饶。
舉個例子,深拷貝好比克隆一個你脓豪;而淺拷貝則是鏡子中的你巷帝,是個地址映射關系忌卤。
python的copy模塊能夠操作數(shù)據(jù)的深拷貝扫夜。看個例子:

import copy
res1 = [1,3,5,7]
res2 = res1   #直接賦值就是淺拷貝
res2_deep = copy.deepcopy(res1)    # deepcopy()方法笤闯,深拷貝
print('res1的值為:', res1, '地址為:', id(res1))
print('res2的值為:', res2, '地址為:', id(res2))
print('res2_deep的值為:', res2_deep, '地址為:', id(res2_deep))
print('- '*20)

res1[0] = 333
print('操作更改res1為:', res1, '此時res2為', res2, '此時res2_deep為', res2_deep)
# 運行結果:
res1的值為: [1, 3, 5, 7] 地址為: 104956480
res2的值為: [1, 3, 5, 7] 地址為: 104956480
res2_deep的值為: [1, 3, 5, 7] 地址為: 104956160
- - - - - - - - - - - - - - - - - - - - 
操作更改res1為: [333, 3, 5, 7] 此時res2為 [333, 3, 5, 7] 此時res2_deep為 [1, 3, 5, 7]

在實例中,深拷貝下更改原數(shù)據(jù)并未對新拷貝的數(shù)據(jù)產(chǎn)生影響超陆。好比阿偉被胖揍一頓,鏡子里的他鼻青臉腫浦马,而克隆的阿偉未受影響一個道理时呀。

那么轉入numpy的正題。

使用numpy涉及龐大的數(shù)組操作谨娜、運算,如果沒弄清深淺拷貝的概念趴梢,很容易操作錯誤。
numpy中封裝了copy的思想币他,因此可以直接調用copy方法實現(xiàn)對數(shù)組的深拷貝:

import numpy as np
arr1 = np.array([1,3,5,7])
arr2 = arr1
arr2_deep = np.copy(arr1)
print('arr1的值為:', arr1, '地址為:', id(arr2))
print('arr2的值為:', arr2, '地址為:', id(arr2))
print('arr2_deep的值為:', arr2_deep, '地址為:', id(arr2_deep))
print('- '*20)

arr1[0] = 333
print('操作更改arr1:', arr1, '此時arr2為', arr2, '此時arr2_deep為', arr2_deep)
# 運行結果:
arr1的值為: [1 3 5 7] 地址為: 90937824
arr2的值為: [1 3 5 7] 地址為: 90937824
arr2_deep的值為: [1 3 5 7] 地址為: 91245024
- - - - - - - - - - - - - - - - - - - - 
操作更改arr1: [333   3   5   7] 此時arr2為 [333   3   5   7] 此時arr2_deep為 [1 3 5 7]

有關線代和數(shù)據(jù)拷貝的知識就總結到這里坞靶。

線代中涉及的數(shù)學概念如點積、向量蝴悉、矩陣等,這里并未過多介紹辫封,有興趣的同學可以再找資料翻看一下,未來使用numpy進行科學運算時會更加得心應手倦微。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末欣福,一起剝皮案震驚了整個濱河市责球,隨后出現(xiàn)的幾起案子拓劝,更是在濱河造成了極大的恐慌,老刑警劉巖郑临,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仇让,居然都是意外死亡,警方通過查閱死者的電腦和手機丧叽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來假瞬,“玉大人,你說我怎么就攤上這事脱茉÷⒖” “怎么了芦劣?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵虚吟,是天一觀的道長签财。 經(jīng)常有香客問我串慰,道長唱蒸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任庆捺,我火速辦了婚禮,結果婚禮上滔以,老公的妹妹穿的比我還像新娘。我一直安慰自己氓拼,他們只是感情好你画,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布桃漾。 她就那樣靜靜地躺著,像睡著了一般适滓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凭迹,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音,去河邊找鬼沿彭。 笑死,一個胖子當著我的面吹牛喉刘,可吹牛的內容都是我干的。 我是一名探鬼主播睦裳,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼廉邑,長吁一口氣:“原來是場噩夢啊……” “哼哥蔚!你這毒婦竟也來了蛛蒙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤深夯,失蹤者是張志新(化名)和其女友劉穎诺苹,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體收奔,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年站辉,在試婚紗的時候發(fā)現(xiàn)自己被綠了损姜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡摧阅,死狀恐怖,靈堂內的尸體忽然破棺而出顾孽,到底是詐尸還是另有隱情祝钢,我是刑警寧澤若厚,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站疤估,受9級特大地震影響霎冯,放射性物質發(fā)生泄漏铃拇。R本人自食惡果不足惜沈撞,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望显晶。 院中可真熱鬧,春花似錦吧碾、人聲如沸墓卦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忠怖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凡泣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工骂维, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贺纲,地道東北人航闺。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓潦刃,卻偏偏與公主長得像侮措,于是被迫代替她去往敵國和親乖杠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容