Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實現(xiàn)即原理詳解
裁切數(shù)組
python 中裁切的意思是將元素從一個給定的索引帶到另一個給定的索引。
我們像這樣傳遞切片而不是索引:[start:end]。
我們還可以定義步長,如下所示:[start:end:step]。
如果我們不傳遞 start,則將其視為 0。
如果我們不傳遞 end,則視為該維度內(nèi)數(shù)組的長度。
如果我們不傳遞 step,則視為 1。
實例
從下面的數(shù)組中裁切索引 1 到索引 5 的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5])
運行實例
注釋:結(jié)果包括了開始索引,但不包括結(jié)束索引。
實例
裁切數(shù)組中索引 4 到結(jié)尾的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[4:])
運行實例
實例
裁切從開頭到索引 4(不包括)的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[:4])
運行實例
負裁切
使用減號運算符從末尾開始引用索引:
實例
從末尾開始的索引 3 到末尾開始的索引 1,對數(shù)組進行裁切:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[-3:-1])
運行實例
STEP
請使用 step 值確定裁切的步長:
實例
從索引 1 到索引 5,返回相隔的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5:2])
運行實例
實例
返回數(shù)組中相隔的元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[::2])
運行實例
裁切2-D數(shù)組
實例
從第二個元素開始,對從索引 1 到索引 4(不包括)的元素進行切片:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[1, 1:4])
運行實例
注釋:請記得第二個元素的索引為 1。
實例
從兩個元素中返回索引 2:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[0:2, 2])
運行實例
實例
從兩個元素裁切索引 1 到索引 4(不包括),這將返回一個 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])
運行實例
Python中的數(shù)據(jù)類型
默認情況下,Python 擁有以下數(shù)據(jù)類型:
strings
- 用于表示文本數(shù)據(jù),文本用引號引起來。例如 “ABCD”。integer
- 用于表示整數(shù)。例如 -1, -2, -3。float
- 用于表示實數(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ù)類型,并通過一個字符引用數(shù)據(jù)類型,
例如 i 代表整數(shù),u 代表無符號整數(shù)等。
以下是 NumPy 中所有數(shù)據(jù)類型的列表以及用于表示它們的字符。
- i - 整數(shù)
- b - 布爾
- u - 無符號整數(shù)
- f - 浮點
- c - 復(fù)合浮點數(shù)
- m - timedelta
- M - datetime
- O - 對象
- S - 字符串
- U - unicode 字符串
- V - 固定的其他類型的內(nèi)存塊 ( void )
檢查數(shù)組的數(shù)據(jù)類型
NumPy 數(shù)組對象有一個名為 dtype 的屬性,該屬性返回數(shù)組的數(shù)據(jù)類型:
實例
獲取數(shù)組對象的數(shù)據(jù)類型:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
運行實例
實例
獲取包含字符串的數(shù)組的數(shù)據(jù)類型:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
運行實例
用已定義的數(shù)據(jù)類型創(chuàng)建數(shù)組
我們使用 array() 函數(shù)來創(chuàng)建數(shù)組,
該函數(shù)可以使用可選參數(shù):dtype,
它允許我們定義數(shù)組元素的預(yù)期數(shù)據(jù)類型:
實例
用數(shù)據(jù)類型字符串創(chuàng)建數(shù)組:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
運行實例
對于 i、u、f、S 和 U,我們也可以定義大小。
實例
創(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)
運行實例
假如值無法轉(zhuǎn)換會怎樣
如果給出了不能強制轉(zhuǎn)換元素的類型,則 NumPy 將引發(fā) ValueError。
ValueError:
在 Python 中,如果傳遞給函數(shù)的參數(shù)的類型是非預(yù)期或錯誤的,則會引發(fā) ValueError。
實例
無法將非整數(shù)字符串(比如 ‘a’)轉(zhuǎn)換為整數(shù)(將引發(fā)錯誤):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
運行實例
轉(zhuǎn)換已有數(shù)組的數(shù)據(jù)類型
更改現(xiàn)有數(shù)組的數(shù)據(jù)類型的最佳方法,是使用 astype() 方法復(fù)制該數(shù)組。
astype() 函數(shù)創(chuàng)建數(shù)組的副本,并允許您將數(shù)據(jù)類型指定為參數(shù)。
數(shù)據(jù)類型可以使用字符串指定,例如 ‘f’ 表示浮點數(shù),‘i’ 表示整數(shù)等。
或者您也可以直接使用數(shù)據(jù)類型,例如 float 表示浮點數(shù),int 表示整數(shù)。
實例
通過使用 ‘i’ 作為參數(shù)值,將數(shù)據(jù)類型從浮點數(shù)更改為整數(shù):
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
運行實例
實例
通過使用 int 作為參數(shù)值,將數(shù)據(jù)類型從浮點數(shù)更改為整數(shù):
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
運行實例
實例
將數(shù)據(jù)類型從整數(shù)更改為布爾值:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
運行實例
到此這篇關(guān)于Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實現(xiàn)即原理詳解的文章就介紹到這了,更多相關(guān)Python NumPy數(shù)組裁切和數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實現(xiàn)"神經(jīng)衰弱"翻牌游戲
這篇文章主要介紹了python 實現(xiàn)"神經(jīng)衰弱"游戲,幫助大家更好的理解和使用python的pygame庫,感興趣的朋友可以了解下2020-11-11Python實現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整
這篇文章主要介紹了Python實現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整 ,需要的朋友可以參考下2019-06-06python實現(xiàn)截取屏幕保存文件,刪除N天前截圖的例子
今天小編就為大家分享一篇python實現(xiàn)截取屏幕保存文件,刪除N天前截圖的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python?中如何使用requests模塊發(fā)布表單數(shù)據(jù)
requests 庫是 Python 的主要方面之一,用于創(chuàng)建對已定義 URL 的 HTTP 請求,本篇文章介紹了 Python requests 模塊,并說明了我們?nèi)绾问褂迷撃K在 Python 中發(fā)布表單數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2023-06-06