第12周Python學(xué)習(xí)周記

&關(guān)于計(jì)劃:

一舱卡、Numpy庫的學(xué)習(xí)(學(xué)習(xí)完畢)蕉扮;

二运挫、Matplotlib的學(xué)習(xí)(進(jìn)行中迟几,預(yù)計(jì)13周之內(nèi)完成)身辨;

三蔽挠、Markdown的學(xué)習(xí)(進(jìn)行中)盒蟆;

(本文內(nèi)容參考于簡書教程)


&時(shí)間:第12周


&內(nèi)容摘要:

一接奈、

1.當(dāng)我們對(duì)數(shù)組進(jìn)行操作的時(shí)候咐柜,我們需要注意一個(gè)很重要的概念——復(fù)制和視圖

(1)完全不復(fù)制:(一個(gè)數(shù)據(jù)域兼蜈,一個(gè)數(shù)組對(duì)象,多個(gè)名字)

①簡單的賦值不會(huì)創(chuàng)建數(shù)組對(duì)象或其數(shù)據(jù)的拷貝:

>>> import numpy as np

>>> a = np.arange(12)

>>> b = a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #沒有創(chuàng)建新的對(duì)象

>>> b is a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #a 和 b是同一數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 組對(duì)象的兩個(gè)名字

True

>>> b.shape = 3,4? ? ? ? ? ? ? ? ? ? #改變b的形狀(同? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 時(shí)改變b的形狀——因?yàn)閍? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 和 b引用同一數(shù)組對(duì)象)

>>> a.shape

(3, 4)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #(a和b完全相通)

②Python將引用對(duì)象作為引用傳遞拙友,因此函數(shù)調(diào)用不會(huì)復(fù)制

>>> def g(x):

... print(id(x))

...

>>> id(a)

2339740615344

>>> g(a)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #同樣的饭尝,a 和 x是? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 同一數(shù)組對(duì)象的兩個(gè)名字

2339740615344

(2)視圖或淺復(fù)制:(一個(gè)數(shù)據(jù)域,不同數(shù)組對(duì)象献宫,共享相同數(shù)據(jù)域)

不同的數(shù)組對(duì)象可以共享相同的數(shù)據(jù)钥平。

①view()方法創(chuàng)建一個(gè)新數(shù)組對(duì)象,該對(duì)象看到相同的數(shù)據(jù)姊途。

>>> c = a.view()

>>> c is a? ? ? ? ? ? ? ? ? ? ? #c不是a涉瘾,是新的數(shù)組對(duì)象

False

>>> c.base is a

? ? ? ? ? ? ? ? ? ? ? ? ? #c是以a的數(shù)據(jù)為基礎(chǔ)建立的對(duì)象

True

>>> c.flags.owndata

False

>>> c.shape = 2,6? ? ? #!a的形狀不會(huì)(隨C改變)

>>> a.shape

(3, 4)

>>> a

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> c[0,4] = 1234

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #a的數(shù)據(jù)會(huì)隨c改變(因?yàn)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它們共享數(shù)據(jù))

>>> a

array([[ 0, 1, 2, 3],

[1234, 5, 6, 7],

[ 8, 9, 10, 11]])

? ? ? ? ? ? ? ? ? ? ? ? ? ? #(a和c唯數(shù)據(jù)相通捷兰,形狀獨(dú)立)

Ps:一個(gè)易錯(cuò)點(diǎn):

>>> e = d.view()

>>> e.base is d

True

>>> d.base is e

False

②對(duì)數(shù)組切片返回一個(gè)視圖:

>>> s = a[:,1:3] #a[1:3]->取第一個(gè)和第二個(gè)元素立叛;a[:,1:3]取第一和第二列元素

>>> s[:] = 10 #對(duì)s(作為a的視圖)賦值,a隨之改變(s和a共享數(shù)據(jù))

>>> a

array([[ 0, 10, 10, 3],

[1234, 10, 10, 7],

[ 8, 10, 10, 11]])

(3)深復(fù)制:(數(shù)據(jù)和數(shù)據(jù)對(duì)象贡茅,完全復(fù)制到另一個(gè)名字下)

copy方法生成數(shù)組及其數(shù)據(jù)的完整拷貝

>>> d = a.copy()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #新對(duì)象d

>>> d is a? ? ? ? ? ? ? #d和a是兩個(gè)獨(dú)立無相關(guān)對(duì)象

False

>>> d.base is a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)不共享

False

>>> d

array([[ 0, 10, 10, 3],

[1234, 10, 10, 7],

[ 8, 10, 10, 11]])

>>> a

array([[ 0, 10, 10, 3],

[1234, 10, 10, 7],

[ 8, 10, 10, 11]])

>>> d[0,0] = 9999

>>> a

array([[ 0, 10, 10, 3],

[1234, 10, 10, 7],

[ 8, 10, 10, 11]])

>>> d

array([[9999, 10, 10, 3],

[1234, 10, 10, 7],

[ 8, 10, 10, 11]])

2.用imag方法操作數(shù)組的虛部

>>> a = np.array([1+2j, 3+4j, 5+6j]) #構(gòu)造復(fù)數(shù)數(shù)組

>>> a.imag

array([ 2., 4., 6.]) #數(shù)組形式返回a的各元素虛部

>>> a.imag = np.array([8,10,12]) #數(shù)組形式對(duì)a的各元素虛部賦值

>>> a

array([ 1. +8.j, 3.+10.j, 5.+12.j])

3.花式索引和索引技巧

(1)使用索引數(shù)組索引

A.

>>> a = np.arange(12)**2

>>> a

array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121], dtype=int32)

>>> i = np.array([2,2,6,8,7]) #作為一個(gè)存儲(chǔ)position的數(shù)組

>>> a[i]? ? ? ? ? ? ? ? ? ? ? ? ? ? #把單子i拿過來按圖索驥

array([ 4, 4, 36, 64, 49], dtype=int32)

>>> j = np.array([[3,4],[8,9]])

>>> a[j]

array([[ 9, 16],

[64, 81]], dtype=int32)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #對(duì)應(yīng)position和data返回矩陣

B.多維度索引

>>> a = np.arange(12).reshape(3,4)

>>> a

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> i = np.array([[0,1],

... [1,2]])? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #構(gòu)建索引位置矩陣

>>> a[i]? ? ? ? ? ? ? ? ? #對(duì)應(yīng)i的內(nèi)容和形式返回矩陣

array([[[ 0, 1, 2, 3],? ? ? ? ? ? ? ? ? ? ? ? ? #a的第0個(gè)元素

[ 4, 5, 6, 7]],? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #a的第1個(gè)元素

[[ 4, 5, 6, 7],? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #a的第1個(gè)元素

[ 8, 9, 10, 11]]])? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #a的第2個(gè)元素

>>> a[i,2] #a[i]索引返回的數(shù)組中秘蛇,取每一個(gè)元素的2位置的數(shù)出來再構(gòu)造一個(gè)數(shù)組

array([[ 2, 6],

[ 6, 10]])

>>> j = np.array([[2,1],

... [3,3]])

>>> a[i,j] #i的n位結(jié)合j的n位構(gòu)成一個(gè)索引坐標(biāo),在a

中按圖索驥顶考!注意此處i和j的形狀要一樣

array([[ 2, 5],? ? ? ? ? ? ? ? #例如赁还,(i[0],j[0])=(0,2),則? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a[0,2]->2;接著a[1,1]->5,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以此類推

[ 7, 11]])

>>> a[:,j]

array([[[ 2, 1],

[ 3, 3]], #a的第一個(gè)元素的j數(shù)組對(duì)應(yīng)位置

[[ 6, 5],

[ 7, 7]], #a的第二個(gè)元素的j數(shù)組對(duì)應(yīng)位置

[[10, 9],

[11, 11]]]) #a的第三個(gè)元素的j數(shù)組對(duì)應(yīng)位置

(2)使用布爾數(shù)組索引(可以非常方便地察看驹沿、選擇數(shù)據(jù))

>>> import numpy as np

>>> a = np.arange(12).reshape(3,4)

>>> b = a > 4

>>> b

array([[False, False, False, False],

[False, True, True, True],

[ True, True, True, True]], dtype=bool)

>>> a[b]

array([ 5, 6, 7, 8, 9, 10, 11])

>>> a

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> a[b] = 0

>>> a

array([[0, 1, 2, 3],

[4, 0, 0, 0],

[0, 0, 0, 0]])

4.好玩的ix_()函數(shù)(可以用于組合不同的向量艘策,便于向量運(yùn)算)

>>> import numpy as np

>>> a = np.array([2,3,4,5])

>>> b = np.array([8,5,4])

>>> c = np.array([5,4,6,8,3])

>>> ax,bx,cx = np.ix_(a,b,c) #用ix_()函數(shù)組合向量

>>> ax

array([[[2]],

[[3]],

[[4]],

[[5]]])

>>> bx

array([[[8],

[5],

[4]]])

>>> cx

array([[[5, 4, 6, 8, 3]]])

>>> ax.shape, bx.shape, cx.shape #組合完畢,向量各占一元

((4, 1, 1), (1, 3, 1), (1, 1, 5))

>>> result = ax+bx*cx

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #將完成組合的向量加以? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 運(yùn)算渊季,得到的結(jié)果矩陣存儲(chǔ)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 給數(shù)組對(duì)象

>>> result

array([[[42, 34, 50, 66, 26],

[27, 22, 32, 42, 17],

[22, 18, 26, 34, 14]],

[[43, 35, 51, 67, 27],

[28, 23, 33, 43, 18],

[23, 19, 27, 35, 15]],

[[44, 36, 52, 68, 28],

[29, 24, 34, 44, 19],

[24, 20, 28, 36, 16]],

[[45, 37, 53, 69, 29],

[30, 25, 35, 45, 20],

[25, 21, 29, 37, 17]]])

>>> result[3,2,4]

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #給予對(duì)應(yīng)abc的參數(shù)朋蔫,可以? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 從結(jié)果矩陣中調(diào)出結(jié)果

17

>>> a[3]+b[2]*c[4]? ? ? ? #跟普通方法結(jié)果一致

17

二、

1.使用默認(rèn)配置畫一個(gè)圖:

A.代碼:

圖片發(fā)自簡書App

B.效果:

圖片發(fā)自簡書App

2.改變線條的粗細(xì)和顏色以及設(shè)置圖片邊界:

代碼和效果:

圖片發(fā)自簡書App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末却汉,一起剝皮案震驚了整個(gè)濱河市驯妄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌合砂,老刑警劉巖青扔,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡赎懦,警方通過查閱死者的電腦和手機(jī)雀鹃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來励两,“玉大人黎茎,你說我怎么就攤上這事〉被冢” “怎么了傅瞻?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盲憎。 經(jīng)常有香客問我嗅骄,道長,這世上最難降的妖魔是什么饼疙? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任溺森,我火速辦了婚禮,結(jié)果婚禮上窑眯,老公的妹妹穿的比我還像新娘屏积。我一直安慰自己,他們只是感情好磅甩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布炊林。 她就那樣靜靜地躺著,像睡著了一般卷要。 火紅的嫁衣襯著肌膚如雪渣聚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天僧叉,我揣著相機(jī)與錄音奕枝,去河邊找鬼。 笑死彪标,一個(gè)胖子當(dāng)著我的面吹牛倍权,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捞烟,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼当船!你這毒婦竟也來了题画?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤德频,失蹤者是張志新(化名)和其女友劉穎苍息,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竞思,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年表谊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盖喷。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爆办,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出课梳,到底是詐尸還是另有隱情距辆,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布暮刃,位于F島的核電站跨算,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏椭懊。R本人自食惡果不足惜诸蚕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氧猬。 院中可真熱鬧挫望,春花似錦、人聲如沸狂窑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泉哈。三九已至蛉幸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丛晦,已是汗流浹背奕纫。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烫沙,地道東北人匹层。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像锌蓄,于是被迫代替她去往敵國和親升筏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一竿橫架天下瘸爽, 一線垂綸乾坤您访。 碧波清泉細(xì)柳風(fēng), 青山綠水不老翁剪决。 邀一行摯友灵汪, 尋一處悠然檀训。 釣得歲月閑, 鉤住...
    冬蟬子閱讀 302評(píng)論 2 1
  • 記憶中的過年享言,是從寒假開始的峻凫。 每當(dāng)從學(xué)校背回來寒假作業(yè),就開始一邊瘋狂做览露,一邊扳著手指頭數(shù)日子荧琼,...
    聆荷軒主閱讀 370評(píng)論 1 0