NumPy數(shù)組創(chuàng)建方法與索引訪問詳解
NumPy 創(chuàng)建數(shù)組
NumPy 中的核心數(shù)據(jù)結(jié)構(gòu)是 ndarray
,它代表多維數(shù)組。NumPy 提供了多種方法來創(chuàng)建 ndarray
對(duì)象,包括:
使用 array() 函數(shù)
array()
函數(shù)是最常用的方法之一,它可以將 Python 列表、元組甚至其他數(shù)組轉(zhuǎn)換為 ndarray
對(duì)象。
語法:
ndarray = np.array(data, dtype=dtype, order=order)
參數(shù)說明:
data
:可以是 Python 列表、元組或其他數(shù)組。 dtype
:指定數(shù)組元素的數(shù)據(jù)類型,默認(rèn)為 float64
。 order
:指定數(shù)組元素的內(nèi)存存儲(chǔ)順序,默認(rèn)為 C
順序(行優(yōu)先)。
示例:
import numpy as np # 創(chuàng)建一維數(shù)組 arr1 = np.array([1, 2, 3, 4, 5]) # 創(chuàng)建二維數(shù)組 arr2 = np.array([[1, 2, 3], [4, 5, 6]]) # 創(chuàng)建三維數(shù)組 arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) print(arr1) print(arr2) print(arr3)
輸出:
[1 2 3 4 5]
[[1 2 3]
[4 5 6]]
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
使用zeros()和ones()函數(shù)
zeros()
和 ones()
函數(shù)可以創(chuàng)建指定形狀和數(shù)據(jù)類型的全零或全一數(shù)組。
語法:
ndarray = np.zeros(shape, dtype=dtype) ndarray = np.ones(shape, dtype=dtype)
參數(shù)說明:
shape
:指定數(shù)組的形狀,可以是元組或列表。 dtype
:指定數(shù)組元素的數(shù)據(jù)類型,默認(rèn)為 float64
。
示例:
import numpy as np # 創(chuàng)建一個(gè) 3x4 的全零數(shù)組 arr1 = np.zeros((3, 4)) # 創(chuàng)建一個(gè) 2x3 的全一數(shù)組 arr2 = np.ones((2, 3)) print(arr1) print(arr2)
輸出:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1. 1. 1.]
[1. 1. 1.]]
使用empty()函數(shù)
empty()
函數(shù)可以創(chuàng)建指定形狀的空數(shù)組,但數(shù)組元素的值未定義。
語法:
ndarray = np.empty(shape, dtype=dtype)
參數(shù)說明:
shape
:指定數(shù)組的形狀,可以是元組或列表。 dtype
:指定數(shù)組元素的數(shù)據(jù)類型,默認(rèn)為 float64
。
示例:
import numpy as np # 創(chuàng)建一個(gè) 3x4 的空數(shù)組 arr = np.empty((3, 4)) print(arr)
輸出:
[[nan nan nan nan]
[nan nan nan nan]
[nan nan nan nan]]
使用特殊函數(shù)
NumPy 還提供了一些特殊函數(shù)來創(chuàng)建特定類型的數(shù)組,例如:
arange()
:創(chuàng)建等差數(shù)列數(shù)組。 linspace()
:創(chuàng)建線性間隔的數(shù)組。 eye()
:創(chuàng)建單位矩陣。 diag()
:創(chuàng)建對(duì)角矩陣。
請(qǐng)參考 NumPy 文檔了解有關(guān)這些函數(shù)的更多信息。
練習(xí)
創(chuàng)建以下數(shù)組:
一個(gè)包含 10 個(gè)元素的遞增整數(shù)數(shù)組(從 0 到 9)。 一個(gè)包含 20 個(gè)元素的隨機(jī)浮點(diǎn)數(shù)數(shù)組(范圍為 0 到 1)。 一個(gè) 3x3 的單位矩陣。
請(qǐng)?jiān)谠u(píng)論中分享您的答案。
Sure, here is the requested Markdown formatted content:
NumPy 數(shù)組索引
NumPy 數(shù)組可用于表示多維數(shù)據(jù)。訪問數(shù)組元素是 NumPy 中常見操作之一。
訪問一維數(shù)組元素
NumPy 數(shù)組中的索引從 0 開始,這意味著第一個(gè)元素的索引為 0,第二個(gè)元素的索引為 1,依此類推。
要訪問一維數(shù)組中的元素,可以使用方括號(hào) []
并指定元素的索引。
示例:
import numpy as np # 創(chuàng)建一維數(shù)組 arr = np.array([1, 2, 3, 4, 5]) # 訪問第一個(gè)元素 print(arr[0]) # 輸出:1 # 訪問第二個(gè)元素 print(arr[1]) # 輸出:2 # 訪問最后一個(gè)元素 print(arr[-1]) # 輸出:5
訪問二維數(shù)組元素
要訪問二維數(shù)組中的元素,可以使用逗號(hào)分隔的兩個(gè)索引:第一個(gè)索引表示行,第二個(gè)索引表示列。
示例:
import numpy as np # 創(chuàng)建二維數(shù)組 arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 訪問第一行第一個(gè)元素 print(arr[0, 0]) # 輸出:1 # 訪問第二行第三列元素 print(arr[1, 2]) # 輸出:6 # 訪問最后一個(gè)元素 print(arr[-1, -1]) # 輸出:9
訪問三維及更高維數(shù)組元素
對(duì)于三維及更高維數(shù)組,可以使用逗號(hào)分隔的多個(gè)索引來訪問元素,每個(gè)索引表示相應(yīng)維度的索引。
示例:
import numpy as np # 創(chuàng)建三維數(shù)組 arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) # 訪問第一個(gè)數(shù)組的第二個(gè)數(shù)組的第三個(gè)元素 print(arr[0, 1, 2]) # 輸出:6
負(fù)索引
NumPy 還支持負(fù)索引,從數(shù)組的末尾開始計(jì)數(shù)。
例如,要訪問二維數(shù)組的最后一個(gè)元素,可以使用 arr[-1, -1]
。
練習(xí)
創(chuàng)建一個(gè) 5x5 的二維數(shù)組 arr
,并打印以下元素:
第一行的第一個(gè)元素 第二行的最后一個(gè)元素 第三列的第一個(gè)元素 第三個(gè)元素
在評(píng)論中分享您的代碼和輸出。
最后
以上就是NumPy數(shù)組創(chuàng)建方法與索引訪問詳解的詳細(xì)內(nèi)容,更多關(guān)于NumPy數(shù)組創(chuàng)建和索引訪問的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
學(xué)會(huì)python操作excel永不加班系列
這篇文章主要介紹了python操作excel的詳解,,需要的朋友可以參考下,小編覺得這篇文章寫的還不錯(cuò),希望能夠給你帶來幫助2021-11-11python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法,實(shí)例分析了Python圖的表示方法與常用尋路算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-07-07Python selenium鍵盤鼠標(biāo)事件實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Python selenium鍵盤鼠標(biāo)事件實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07淺談python print(xx, flush = True) 全網(wǎng)最清晰的解釋
今天小編就為大家分享一篇淺談python print(xx, flush = True) 全網(wǎng)最清晰的解釋,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02pycharm中虛擬環(huán)境venv簡(jiǎn)介以及實(shí)踐指南
這篇文章主要給大家介紹了關(guān)于pycharm中虛擬環(huán)境venv簡(jiǎn)介以及實(shí)踐的相關(guān)資料,虛擬環(huán)境是利用了操作系統(tǒng)中環(huán)境變量,以及進(jìn)程間環(huán)境隔離的特性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Python 高級(jí)教程之線程進(jìn)程和協(xié)程的代碼解析
這篇文章主要介紹了Python 高級(jí)教程之線程進(jìn)程和協(xié)程的代碼解析,包括使用線程模塊的簡(jiǎn)單示例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05編寫Python腳本來獲取Google搜索結(jié)果的示例
這篇文章主要介紹了編寫Python腳本來獲取Google搜索結(jié)果的示例,也是利用Python編寫爬蟲的一個(gè)簡(jiǎn)單實(shí)現(xiàn),需要的朋友可以參考下2015-05-05Python正則表達(dá)式匹配數(shù)字和小數(shù)的方法
這篇文章主要介紹了Python正則匹配數(shù)字和小數(shù)的方法,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Pytorch復(fù)現(xiàn)擴(kuò)散模型的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Pytorch復(fù)現(xiàn)擴(kuò)散模型,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以跟隨小編一起了解一下2023-04-04