Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實(shí)現(xiàn)即原理詳解
裁切數(shù)組
python 中裁切的意思是將元素從一個(gè)給定的索引帶到另一個(gè)給定的索引。
我們像這樣傳遞切片而不是索引:[start:end]。
我們還可以定義步長(zhǎng),如下所示:[start:end:step]。
如果我們不傳遞 start,則將其視為 0。
如果我們不傳遞 end,則視為該維度內(nèi)數(shù)組的長(zhǎng)度。
如果我們不傳遞 step,則視為 1。
實(shí)例
從下面的數(shù)組中裁切索引 1 到索引 5 的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5])
運(yùn)行實(shí)例

注釋:結(jié)果包括了開(kāi)始索引,但不包括結(jié)束索引。
實(shí)例
裁切數(shù)組中索引 4 到結(jié)尾的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[4:])
運(yùn)行實(shí)例

實(shí)例
裁切從開(kāi)頭到索引 4(不包括)的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[:4])
運(yùn)行實(shí)例

負(fù)裁切
使用減號(hào)運(yùn)算符從末尾開(kāi)始引用索引:
實(shí)例
從末尾開(kāi)始的索引 3 到末尾開(kāi)始的索引 1,對(duì)數(shù)組進(jìn)行裁切:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[-3:-1])
運(yùn)行實(shí)例

STEP
請(qǐng)使用 step 值確定裁切的步長(zhǎng):
實(shí)例
從索引 1 到索引 5,返回相隔的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5:2])
運(yùn)行實(shí)例

實(shí)例
返回?cái)?shù)組中相隔的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[::2])
運(yùn)行實(shí)例

裁切2-D數(shù)組
實(shí)例
從第二個(gè)元素開(kāi)始,對(duì)從索引 1 到索引 4(不包括)的元素進(jìn)行切片:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[1, 1:4])
運(yùn)行實(shí)例

注釋:請(qǐng)記得第二個(gè)元素的索引為 1。
實(shí)例
從兩個(gè)元素中返回索引 2:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[0:2, 2])
運(yùn)行實(shí)例

實(shí)例
從兩個(gè)元素裁切索引 1 到索引 4(不包括),這將返回一個(gè) 2-D 數(shù)組:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[0:2, 1:4])
運(yùn)行實(shí)例

Python中的數(shù)據(jù)類型
默認(rèn)情況下,Python 擁有以下數(shù)據(jù)類型:
strings- 用于表示文本數(shù)據(jù),文本用引號(hào)引起來(lái)。例如 “ABCD”。integer- 用于表示整數(shù)。例如 -1, -2, -3。float- 用于表示實(shí)數(shù)。例如 1.2, 42.42。boolean- 用于表示 True 或 False。complex- 用于表示復(fù)平面中的數(shù)字。例如 1.0 + 2.0j,1.5 + 2.5j。
NumPy中的數(shù)據(jù)類型
NumPy 有一些額外的數(shù)據(jù)類型,并通過(guò)一個(gè)字符引用數(shù)據(jù)類型,
例如 i 代表整數(shù),u 代表無(wú)符號(hào)整數(shù)等。
以下是 NumPy 中所有數(shù)據(jù)類型的列表以及用于表示它們的字符。
- i - 整數(shù)
- b - 布爾
- u - 無(wú)符號(hào)整數(shù)
- f - 浮點(diǎn)
- c - 復(fù)合浮點(diǎn)數(shù)
- m - timedelta
- M - datetime
- O - 對(duì)象
- S - 字符串
- U - unicode 字符串
- V - 固定的其他類型的內(nèi)存塊 ( void )
檢查數(shù)組的數(shù)據(jù)類型
NumPy 數(shù)組對(duì)象有一個(gè)名為 dtype 的屬性,該屬性返回?cái)?shù)組的數(shù)據(jù)類型:
實(shí)例
獲取數(shù)組對(duì)象的數(shù)據(jù)類型:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
運(yùn)行實(shí)例

實(shí)例
獲取包含字符串的數(shù)組的數(shù)據(jù)類型:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
運(yùn)行實(shí)例

用已定義的數(shù)據(jù)類型創(chuàng)建數(shù)組
我們使用 array() 函數(shù)來(lái)創(chuàng)建數(shù)組,
該函數(shù)可以使用可選參數(shù):dtype,
它允許我們定義數(shù)組元素的預(yù)期數(shù)據(jù)類型:
實(shí)例
用數(shù)據(jù)類型字符串創(chuàng)建數(shù)組:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
運(yùn)行實(shí)例

對(duì)于 i、u、f、S 和 U,我們也可以定義大小。
實(shí)例
創(chuàng)建數(shù)據(jù)類型為 4 字節(jié)整數(shù)的數(shù)組:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
運(yùn)行實(shí)例

假如值無(wú)法轉(zhuǎn)換會(huì)怎樣
如果給出了不能強(qiáng)制轉(zhuǎn)換元素的類型,則 NumPy 將引發(fā) ValueError。
ValueError:在 Python 中,如果傳遞給函數(shù)的參數(shù)的類型是非預(yù)期或錯(cuò)誤的,則會(huì)引發(fā) ValueError。
實(shí)例
無(wú)法將非整數(shù)字符串(比如 ‘a’)轉(zhuǎn)換為整數(shù)(將引發(fā)錯(cuò)誤):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
運(yùn)行實(shí)例

轉(zhuǎn)換已有數(shù)組的數(shù)據(jù)類型
更改現(xiàn)有數(shù)組的數(shù)據(jù)類型的最佳方法,是使用 astype() 方法復(fù)制該數(shù)組。
astype() 函數(shù)創(chuàng)建數(shù)組的副本,并允許您將數(shù)據(jù)類型指定為參數(shù)。
數(shù)據(jù)類型可以使用字符串指定,例如 ‘f’ 表示浮點(diǎn)數(shù),‘i’ 表示整數(shù)等。
或者您也可以直接使用數(shù)據(jù)類型,例如 float 表示浮點(diǎn)數(shù),int 表示整數(shù)。
實(shí)例
通過(guò)使用 ‘i’ 作為參數(shù)值,將數(shù)據(jù)類型從浮點(diǎn)數(shù)更改為整數(shù):
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)運(yùn)行實(shí)例

實(shí)例
通過(guò)使用 int 作為參數(shù)值,將數(shù)據(jù)類型從浮點(diǎn)數(shù)更改為整數(shù):
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
運(yùn)行實(shí)例

實(shí)例
將數(shù)據(jù)類型從整數(shù)更改為布爾值:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
運(yùn)行實(shí)例

到此這篇關(guān)于Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實(shí)現(xiàn)即原理詳解的文章就介紹到這了,更多相關(guān)Python NumPy數(shù)組裁切和數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)變量賦值的理解--Pyton中讓兩個(gè)值互換的實(shí)現(xiàn)方法
下面小編就為大家分享一篇Pyton中讓兩個(gè)值互換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Python通過(guò)clr庫(kù)實(shí)現(xiàn)與.NET互操作教程
本文詳細(xì)介紹了Python的clr庫(kù),用于在Python和.NET之間進(jìn)行互操作,內(nèi)容涵蓋了安裝配置、程序集加載、類型轉(zhuǎn)換、對(duì)象操作、事件處理、異常處理以及高級(jí)功能等,通過(guò)實(shí)際應(yīng)用案例,展示了如何在Python中利用.NET生態(tài)系統(tǒng),需要的朋友可以參考下2025-11-11
Python真題案例之小學(xué)算術(shù)?階乘精確值?孿生素?cái)?shù)?6174問(wèn)題詳解
這篇文章主要介紹了python實(shí)操案例練習(xí),本文給大家分享的案例中主要任務(wù)有小學(xué)生算術(shù)、階乘的精確值、孿生素?cái)?shù)、6174問(wèn)題,需要的小伙伴可以參考一下2022-03-03
Python3如何日志同時(shí)輸出到控制臺(tái)和文件
這篇文章主要介紹了Python3如何日志同時(shí)輸出到控制臺(tái)和文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
selenium切換標(biāo)簽頁(yè)解決get超時(shí)問(wèn)題的完整代碼
這篇文章主要給大家介紹了關(guān)于selenium切換標(biāo)簽頁(yè)解決get超時(shí)問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Python實(shí)現(xiàn)自動(dòng)整理文件的示例代碼
在我們?nèi)粘I钪?,文件總是雜亂無(wú)章的,這個(gè)時(shí)候就需要我們整理一下。但是文件太多的話整理起來(lái)是非常麻煩的,因此我們今天就來(lái)用Python實(shí)現(xiàn)文件的自動(dòng)整理2022-08-08
Python實(shí)現(xiàn)對(duì)中文文本分段分句
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)對(duì)中文文本分段分句,大致來(lái)說(shuō)主要是以中文的句號(hào)、感嘆、問(wèn)號(hào)等符號(hào)進(jìn)行分句,感興趣的可以了解一下2023-03-03
系統(tǒng)解析Python模擬Windows文件名排序的三種實(shí)現(xiàn)方案
在文件管理場(chǎng)景中,Windows資源管理器的排序規(guī)則因其符合人類自然認(rèn)知而備受青睞,本文將系統(tǒng)解析Windows排序規(guī)則并提供三種Python實(shí)現(xiàn)方案,大家可以根據(jù)需要進(jìn)行選擇2026-03-03
Python3 pickle模塊的實(shí)現(xiàn)步驟
Python的pickle模塊提供強(qiáng)大的對(duì)象序列化功能,本文就來(lái)詳細(xì)的介紹一下Python3 pickle模塊的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03

