Python Numpy學(xué)習(xí)之索引及切片的使用方法
1. 索引及切片
數(shù)組中的元素可以通過索引以及切片的手段進行訪問或者修改,和列表的切片操作一樣。
下面直接使用代碼進行實現(xiàn),具體操作方式以及意義以代碼注釋為準:
(1)通過下標(biāo)以及內(nèi)置函數(shù)進行索引切片
""" Author:XiaoMa date:2021/12/30 """ import numpy as np a = np.arange(10)#創(chuàng)建一個從0-9的一維數(shù)組 print(a) i = slice(2, 7, 2)#從2開始到7結(jié)束,每隔1個元素進行索引,即start為1,stop為7,step為2 print(a[i])
得到的輸出如下:

(2)使用冒號分隔參數(shù)進行切片索引
""" Author:XiaoMa date:2021/12/30 """ import numpy as np a = np.arange(10)#創(chuàng)建一個從0-9的一維數(shù)組 print(a[2:7:2])#將起始、結(jié)束、步長使用冒號進行分割,表示索引切片
得到的輸出如下:

(3)對部分元素進行索引并切片
a. 切取中間的一段
""" Author:XiaoMa date:2021/12/30 """ import numpy as np a = np.arange(10)#創(chuàng)建一個從0-9的一維數(shù)組 print(a[2:5])#從2-5進行切片
得到輸出如下:

b. 切取某一個元素后的全部
""" Author:XiaoMa date:2021/12/30 """ import numpy as np a = np.arange(10)#創(chuàng)建一個從0-9的一維數(shù)組 print(a[3:])#從3開始進行打印,直到打印完整個數(shù)組
得到輸出如下:

(4)對多維數(shù)組進行索引切片
"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as np
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print('從數(shù)組索引a[2:]處開始切片:')
print(b[2:])
print('數(shù)組第二列進行切片:')
print(b[..., 2])
print('數(shù)組第二行進行切片:')
print(b[2, ...])
print('從第二列開始切片:')
print(b[..., 1:])
得到輸出如下:

2. 高級索引
(1)整數(shù)數(shù)組索引
"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as np
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = b[[1, 0], [1, 0]]
print('對數(shù)組(1,1)和(0,0)處的元素進行索引切片:')
print(c)
得到輸出如下:

(2)布爾索引
通過一個布爾數(shù)組來索引目標(biāo)數(shù)組,布爾數(shù)組可以通過布爾運算得到符合條件的數(shù)組元素。
如下我們可以提取一個數(shù)組中不小于5的數(shù):
"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as np
a = np.array([[1, 2, 3, 5], [6, 9, 2, 0], [9, 3, 2, 7]])
print('數(shù)組中不小于5的數(shù)如下:')
print(a[a >= 5])
得到輸出如下:

(3)花式索引
花式索引指的是利用整數(shù)數(shù)組進行索引。花式索引根據(jù)索引數(shù)組的值作為目標(biāo)數(shù)組的某個軸的下標(biāo)來取值。對于使用一維整型數(shù)組作為索引,如果目標(biāo)是一維數(shù)組,那么索引的結(jié)果就是對應(yīng)下標(biāo)的行,如果目標(biāo)是二維數(shù)組,那么就是對應(yīng)位置的元素?;ㄊ剿饕衅灰粯樱偸菍?shù)據(jù)復(fù)制到新數(shù)組中。
"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as np
x = np.arange(32).reshape((8, 4))
print('生成的數(shù)組為:')
print(x)
print('傳入順序索引數(shù)組:')
print(x[[4, 2, 1, 7]])
print('傳入倒序索引數(shù)組:')
print(x[[-4, -2, -1, -1]])
print('傳入多個索引數(shù)組:')
print(x[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])])#輸出的是兩個向量不同維度組合的值
得到輸出如下:

到此這篇關(guān)于Python Numpy學(xué)習(xí)之索引及切片的使用方法的文章就介紹到這了,更多相關(guān)Python Numpy索引 切片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python用TensorFlow做圖像識別的實現(xiàn)
這篇文章主要介紹了python用TensorFlow做圖像識別的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Pycharm運行時總是跳出Python?Console問題
這篇文章主要介紹了Pycharm運行時總是跳出Python?Console問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
python3學(xué)習(xí)之Splash的安裝與實例教程
splash 是一個python語言編寫的用于配合scrapy解析js的庫,下面這篇文章主要給大家介紹了關(guān)于python3學(xué)習(xí)之Splash的安裝與使用的一些相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-07-07
PyTorch變分自編碼器的構(gòu)建與應(yīng)用小結(jié)
變分自編碼器是一種強大的深度學(xué)習(xí)模型,用于學(xué)習(xí)數(shù)據(jù)的潛在表示并能生成新的數(shù)據(jù)點,使用PyTorch實現(xiàn)VAE不僅可以加深對生成模型的理解,還可以利用其靈活性進行各種實驗,這篇文章主要介紹了PyTorch變分自編碼器的構(gòu)建與應(yīng)用,需要的朋友可以參考下2024-07-07
pyecharts實現(xiàn)數(shù)據(jù)可視化
這篇文章主要介紹了pyecharts實現(xiàn)數(shù)據(jù)可視化,pyecharts 是百度開源的,適用于數(shù)據(jù)可視化的工具,配置靈活,展示圖表相對美觀,順滑,下面更多詳細內(nèi)容,需要的小伙伴可以參考一下2022-03-03
Python+Scipy實現(xiàn)自定義任意的概率分布
Scipy自帶了多種常見的分布,如正態(tài)分布、均勻分布、二項分布、多項分布、伽馬分布等等,還可以自定義任意的概率分布。本文將為大家介紹如何利用Scipy自定義任意的概率分布,感興趣的可以了解下2022-08-08
flask+pymysql實現(xiàn)Web端操作數(shù)據(jù)庫的項目實踐
本文主要介紹了flask+pymysql實現(xiàn)Web端操作數(shù)據(jù)庫的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

