无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

Python:圖解 NumPy

0
分享至

NumPy 是 Python 中最受歡迎的第三方庫之一。本文將通過圖示和更具實踐性的方式介紹其使用方法,使你能夠通過直觀理解來加深記憶。

一、導(dǎo)入 NumPy

import numpy as np

二、NumPy 數(shù)組的創(chuàng)建

NumPy 支持從列表、元組、字符串、緩沖區(qū)、迭代器等多種數(shù)據(jù)來源創(chuàng)建數(shù)組。


1、多種創(chuàng)建數(shù)組的方法

numpy.fromiter(iterable, dtype, count=-1)  

NumPy 提供了大量創(chuàng)建數(shù)組的方法。

2、查看數(shù)組結(jié)構(gòu)信息

NumPy 提供了一組數(shù)組屬性,用于描述數(shù)組的結(jié)構(gòu)信息;其中部分屬性可讀取結(jié)構(gòu)特征,個別屬性在滿足條件時還可用于調(diào)整結(jié)構(gòu)。

例如:

len(a)  # 2   數(shù)組第 0 維(axis=0)的長度,相當(dāng)于 a.shape[0]

3、快速創(chuàng)建 NumPy 數(shù)組的方法

np.full(shape,7) # 創(chuàng)建數(shù)組元素全是指定值的數(shù)組


還可以創(chuàng)建包含隨機值的數(shù)組:

np.random.randn(3,2)     # 創(chuàng)建標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù)組


還有更多實用的創(chuàng)建方法,比如,arange() 可用于創(chuàng)建一個等差序列數(shù)組。

np.arange(start, stop(不包含), step)

示例:

#        [13, 14, 15, 16]])

三、算術(shù)運算

NumPy 支持多種算術(shù)運算(Arithmetic Operations):

? 同形狀的數(shù)組之間的逐元素運算

? 形狀滿足廣播規(guī)則時,數(shù)組之間可以自動擴展后再逐元素運算

? 標(biāo)量與數(shù)組的運算


a + 2

其他運算方式類似。但需注意:參與運算的數(shù)組形狀必須滿足要求,這種機制稱為“廣播”(Broadcasting)。

NumPy 的廣播規(guī)則是:

? 維度不足時在左側(cè)補 1

? 從右向左逐維比較,每一維必須“相等或存在 1”

比如:

結(jié)果形狀   :(7, 3, 6, 5)

而以下情形將不支持廣播運算,比如:

(3, 2) 與 (3, )


NumPy 常用的二元算術(shù)運算函數(shù)有:

a.dot(b)            # 對一維數(shù)組常表示向量點積;對二維數(shù)組常表示矩陣乘法


NumPy 還提供了多個數(shù)學(xué)函數(shù)可以對數(shù)組中所有元素執(zhí)行向量化運算:

np.log(a)   # 以 e 為底的對數(shù)

四、索引與切片

基本索引(包括整數(shù)索引和切片訪問等)是 NumPy 中最基礎(chǔ)的數(shù)組訪問方式,其行為與 Python 序列類型(如列表、)的索引和切片規(guī)則基本一致。

整數(shù)索引的基本形式:

arr[index]

切片訪問的基本形式:

arr[from:to:step, from:to:step, ...]  

對于多維數(shù)組,NumPy 使用逗號分隔各個維度的索引。省略符(ellipsis) ... 可用于表示多個維度的全部元素。


示例:

# array([['T', 'H', 'O', 'T']], dtype=' )

在 NumPy 的基本索引中,整數(shù)索引會消除該維度,而切片索引會保留該維度。

比如,上例中,site[0:1, 1] 中的 0:1 切片會返回一個同維數(shù)組 (1, 2, 4),當(dāng)再進行整數(shù)索引,第 1 維被消除,返回二維數(shù)組 (1, 4)。


site[0,1] 在各個維度上都使用整數(shù)索引,因此分別消除第 0 維和第 1 維,返回一維數(shù)組 (4, )。


NumPy 的基本索引同樣支持負索引與負步長。


示例:

site[:, :, ::-1]  # 將最后一個軸上的元素逆序

五、聚合運算

NumPy 提供了一組用于對數(shù)組元素進行統(tǒng)計匯總的函數(shù)。這些函數(shù)可以對整個數(shù)組進行聚合計算(也稱“歸約計算”),也可以通過 axis 參數(shù)沿指定軸進行統(tǒng)計,從而實現(xiàn)按行或按列計算。

比如:

a.mean()     # 均值

np.std(a)  # 標(biāo)準(zhǔn)差

1、Axis(軸)

聚合操作可以針對指定軸進行。


下面以三維數(shù)組的求和運算為例:

npr = np.array([1, 2, 4, 5, 7, 8, 1, 2, 4, 5, 7, 8]).reshape(2, 3, 2)

(1)當(dāng)指定 axis = 0 時,沿第 0 軸方向求和,返回一個二維數(shù)組 (3, 2)。

npr.sum(axis=0)

(2)當(dāng)指定 axis = 1 時,沿第 1 軸方向求和,返回一個二維數(shù)組 (2, 2)。

npr.sum(axis=1)

(3)當(dāng)指定 axis = 2 時,沿第 2 軸方向求和,返回一個二維數(shù)組 (2, 3)。

npr.sum(axis=2)


對三維數(shù)組求最大值也是如此:

npr.max(axis=2)


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

1、結(jié)構(gòu)重構(gòu)

常用的數(shù)組結(jié)構(gòu)重構(gòu)方法有:

? .reshape():改變形狀(返回新數(shù)組)

? .resize():原地修改數(shù)組形狀;若新數(shù)組更大,新增部分通常以 0 填充;若更小,則截斷數(shù)據(jù)

? .T:轉(zhuǎn)置(Transpose)。對二維數(shù)組表現(xiàn)為行列互換;對更高維數(shù)組則是將各軸順序反轉(zhuǎn)

? .ravel():展平為一維數(shù)組


2、拼接數(shù)組

可以使用多種方式拼接數(shù)組。

? np.concatenate():沿指定軸拼接多個數(shù)組

? np.append():將值追加到數(shù)組(默認先展平),返回新數(shù)組


3、插入與刪除

對于二維數(shù)組:

? axis=0 表示行

? axis=1 表示列

插入示例:

print(a)

輸出:

 [7 8 9]]

在該示例下,插入值可以是標(biāo)量 9,也可以是形狀匹配的一維序列 [9, 9, 9];是否可插入其他形狀,還取決于 axis 與廣播兼容性。



刪除示例:

a == a3

輸出:

       [ True,  True,  True]])

若需單個布爾值:

np.array_equal(a, a3)  # True

4、排序

排序操作既可以作用于整個數(shù)組,也可以僅作用于指定軸。

.sort() 默認沿 axis = -1(最后一個軸)升序排序,并原地修改數(shù)組。

示例:

a.sort(axis=0)

5、關(guān)于“拷貝”

NumPy 中的“復(fù)制”涉及數(shù)據(jù)緩沖區(qū)與數(shù)組結(jié)構(gòu)兩個層面。變量賦值僅創(chuàng)建引用;切片與 view 通常生成共享數(shù)據(jù)的視圖;而 copy() 等操作才會復(fù)制底層數(shù)據(jù)。理解這些機制,有助于避免隱式數(shù)據(jù)修改,并提升數(shù)組計算的效率。

七、高級索引

NumPy 可以使用布爾數(shù)組索引、整數(shù)數(shù)組索引以及混合索引來選擇元素。


1、布爾數(shù)組篩選

(1)條件篩選

# array([1, 2, 3, 4, 5, 6])

先計算條件表達式 a < 7,得到布爾矩陣,True 位置對應(yīng)的元素被選出,返回結(jié)果為一維扁平數(shù)組。這是對普通布爾數(shù)組篩選而言的常見結(jié)果形式。

(2)條件排除

# array([ 1,  2,  3,  4,  5,  6,  8,  9, 10, 11, 12, 13, 14, 15, 16])

選出所有不等于 7 的元素,同樣返回一維扁平數(shù)組。

2、整數(shù)數(shù)組索引

(1)行索引

a[[1, 0, 1, 2]]

這實際上是在按給定順序選取第 1、0、1、2 行,可重復(fù)選取。

(2)列重排

a[:, [1, 0, 1, 2]]

選取列并重排序,可重復(fù)列。

3、組合坐標(biāo)式索引

a[[1, 0, 2], [0, 1, 0]]

按坐標(biāo)對選取元素,返回一維數(shù)組。

小結(jié)

本文以圖示方式介紹了 NumPy 數(shù)組的創(chuàng)建、運算、索引、聚合與重構(gòu)等基礎(chǔ)內(nèi)容。學(xué)習(xí)時應(yīng)特別注意廣播規(guī)則、軸的含義以及視圖與拷貝的區(qū)別,這些機制是正確使用 NumPy 的關(guān)鍵。

特別聲明:

除延伸閱讀文章之外,本文的基本框架、示例及所有圖片來自以下網(wǎng)址,感謝原作者的辛勤工作。

https://solothought.com/tutorial/python-numpy

點贊有美意,贊賞是鼓勵

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
李在明發(fā)表涉臺不當(dāng)言論,否定安美經(jīng)中,韓網(wǎng)友“珍惜中韓關(guān)系”

李在明發(fā)表涉臺不當(dāng)言論,否定安美經(jīng)中,韓網(wǎng)友“珍惜中韓關(guān)系”

民哥臺球解說
2026-06-12 10:57:16
有退休金的人發(fā)現(xiàn)一個奇怪的現(xiàn)象:手里有20、30萬存款的老人,最后過得好的,幾乎都做了同兩個讓子女意外的決定

有退休金的人發(fā)現(xiàn)一個奇怪的現(xiàn)象:手里有20、30萬存款的老人,最后過得好的,幾乎都做了同兩個讓子女意外的決定

心理觀察局
2026-06-07 06:37:04
一路走好!泰國王室宣告47歲帕公主去世,母親頌妃迎來最絕望結(jié)局

一路走好!泰國王室宣告47歲帕公主去世,母親頌妃迎來最絕望結(jié)局

娛說瑜悅
2026-06-12 17:11:11
希西爾,將訪華

希西爾,將訪華

政知新媒體
2026-06-12 16:21:47
韓國教授:漢朝前中國一直歸屬韓國統(tǒng)治,外國網(wǎng)友評論出奇一致

韓國教授:漢朝前中國一直歸屬韓國統(tǒng)治,外國網(wǎng)友評論出奇一致

小豫講故事
2026-06-12 06:00:09
尼克斯橫掃騎士晉級總決賽

尼克斯橫掃騎士晉級總決賽

體壇周報
2026-06-13 02:09:23
排面!Lisa穿李剛?cè)是蛞拢抢顒側(cè)守旈y千金女友的閨蜜

排面!Lisa穿李剛?cè)是蛞拢抢顒側(cè)守旈y千金女友的閨蜜

天光破云來
2026-06-12 12:01:15
你信嗎?有些事被迫終止,其實是老天在救你!網(wǎng)友:想想都后怕

你信嗎?有些事被迫終止,其實是老天在救你!網(wǎng)友:想想都后怕

另子維愛讀史
2026-06-12 19:50:24
現(xiàn)在的年輕人不敢開房了

現(xiàn)在的年輕人不敢開房了

微微熱評
2026-06-13 00:53:53
14天的冷淡期已過!中國不再給機會,欺負海外中企的荷蘭要遭殃

14天的冷淡期已過!中國不再給機會,欺負海外中企的荷蘭要遭殃

他想要很多很多的夢
2026-06-12 05:32:19
網(wǎng)傳武漢大學(xué)7000多退休職工,月均領(lǐng)10000,每年需9億社保供應(yīng)…

網(wǎng)傳武漢大學(xué)7000多退休職工,月均領(lǐng)10000,每年需9億社保供應(yīng)…

慧翔百科
2026-06-09 12:21:35
杭州男子失戀游湖南,遇苗族婚宴隨禮1000入席,離場卻被伴娘攔下

杭州男子失戀游湖南,遇苗族婚宴隨禮1000入席,離場卻被伴娘攔下

蘭姐說故事
2025-06-09 10:00:07
比亞迪一建廠項目暫停!

比亞迪一建廠項目暫停!

電動內(nèi)參
2026-06-12 18:49:58
美國懵了,世界杯開始了,觀眾沒了?

美國懵了,世界杯開始了,觀眾沒了?

宋鴻兵
2026-06-12 20:02:47
小鵬GX上市首月銷量,讓我楞了三分鐘

小鵬GX上市首月銷量,讓我楞了三分鐘

ZAKER新聞
2026-06-12 16:36:08
險勝幾百票!藤森慶子當(dāng)選秘魯總統(tǒng),其父鐵腕統(tǒng)治歷史再引熱議

險勝幾百票!藤森慶子當(dāng)選秘魯總統(tǒng),其父鐵腕統(tǒng)治歷史再引熱議

完善法
2026-06-12 18:24:08
三大運營商終于作“死”了自己

三大運營商終于作“死”了自己

細雨中的呼喊
2026-06-10 23:49:50
關(guān)曉彤沒想到,2026世界杯開幕當(dāng)天,36歲鹿晗會以這種方式火出圈

關(guān)曉彤沒想到,2026世界杯開幕當(dāng)天,36歲鹿晗會以這種方式火出圈

丁丁鯉史紀(jì)
2026-06-12 11:41:48
卡卡:球迷常說我和阿扎爾是皇馬隊史最失敗引援,對此我接受

卡卡:球迷常說我和阿扎爾是皇馬隊史最失敗引援,對此我接受

懂球帝
2026-06-12 23:10:06
與王楚欽秘密領(lǐng)證真相大白后,陳夢近況曝光,難怪淡出國家隊

與王楚欽秘密領(lǐng)證真相大白后,陳夢近況曝光,難怪淡出國家隊

領(lǐng)悟看世界
2026-06-13 00:49:10
2026-06-13 02:31:00
MediaTea
MediaTea
專業(yè)的數(shù)字媒體、新媒體技術(shù)
1888文章數(shù) 80關(guān)注度
往期回顧 全部

科技要聞

剛剛,人類歷史上首位萬億美元富豪誕生!

頭條要聞

美加墨世界杯第二場比賽就現(xiàn)空座 英媒:尷尬

頭條要聞

美加墨世界杯第二場比賽就現(xiàn)空座 英媒:尷尬

體育要聞

歐洲恐韓?肉德維德?

娛樂要聞

一天4個瓜,肖戰(zhàn)熱巴最意外

財經(jīng)要聞

萬億美元順差背后,透露這些信號

汽車要聞

標(biāo)配激光雷達/雙動力可選 昊鉑S600限時售17.99萬起

態(tài)度原創(chuàng)

教育
數(shù)碼
家居
健康
時尚

教育要聞

家長成了“瘋女人”,被女兒作業(yè)搞崩潰,網(wǎng)友:太真實

數(shù)碼要聞

英國監(jiān)管機構(gòu)警告:亞馬遜、eBay仍在售可能致命的假冒手機充電器

家居要聞

空間微調(diào) 移形換境

老人、小孩、孕婦,吃粽子有啥風(fēng)險

夏天別總穿一身白或一身黑!試試一半彩色、一半基礎(chǔ)色,高級亮眼

無障礙瀏覽 進入關(guān)懷版