Python 科学计算库 Numpy (二) —— 索引及切片
生活随笔
收集整理的這篇文章主要介紹了
Python 科学计算库 Numpy (二) —— 索引及切片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
1. 索引及切片
(1)通過下標以及內置函數進行索引切片
(2)使用冒號分隔參數進行切片索引
(3)對部分元素進行索引并切片
(4)對多維數組進行索引切片
2. 高級索引
(1)整數數組索引
(2)布爾索引
(3)花式索引
1. 索引及切片
數組中的元素可以通過索引以及切片的手段進行訪問或者修改,和列表的切片操作一樣。
下面直接使用代碼進行實現,具體操作方式以及意義以代碼注釋為準:
(1)通過下標以及內置函數進行索引切片
""" Author:XiaoMa date:2021/12/30 """ import numpy as npa = np.arange(10)#創建一個從0-9的一維數組 print(a) i = slice(2, 7, 2)#從2開始到7結束,每隔1個元素進行索引,即start為1,stop為7,step為2 print(a[i])得到的輸出如下:
(2)使用冒號分隔參數進行切片索引
""" Author:XiaoMa date:2021/12/30 """ import numpy as npa = np.arange(10)#創建一個從0-9的一維數組 print(a[2:7:2])#將起始、結束、步長使用冒號進行分割,表示索引切片得到的輸出如下:
(3)對部分元素進行索引并切片
a. 切取中間的一段
""" Author:XiaoMa date:2021/12/30 """ import numpy as npa = np.arange(10)#創建一個從0-9的一維數組 print(a[2:5])#從2-5進行切片?得到輸出如下:
b. 切取某一個元素后的全部
""" Author:XiaoMa date:2021/12/30 """ import numpy as npa = np.arange(10)#創建一個從0-9的一維數組 print(a[3:])#從3開始進行打印,直到打印完整個數組得到輸出如下:
(4)對多維數組進行索引切片
""" Author:XiaoMa date:2021/12/30 """ import numpy as npb = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print('從數組索引a[2:]處開始切片:') print(b[2:]) print('數組第二列進行切片:') print(b[..., 2]) print('數組第二行進行切片:') print(b[2, ...]) print('從第二列開始切片:') print(b[..., 1:])得到輸出如下:
2. 高級索引
(1)整數數組索引
""" Author:XiaoMa date:2021/12/30 """ import numpy as npb = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) c = b[[1, 0], [1, 0]] print('對數組(1,1)和(0,0)處的元素進行索引切片:') print(c)得到輸出如下:
(2)布爾索引
通過一個布爾數組來索引目標數組,布爾數組可以通過布爾運算得到符合條件的數組元素。
如下我們可以提取一個數組中不小于5的數:
""" Author:XiaoMa date:2021/12/30 """ import numpy as npa = np.array([[1, 2, 3, 5], [6, 9, 2, 0], [9, 3, 2, 7]]) print('數組中不小于5的數如下:') print(a[a >= 5])得到輸出如下:
(3)花式索引
花式索引指的是利用整數數組進行索引?;ㄊ剿饕鶕?span style="color:#fe2c24;">索引數組的值作為目標數組的某個軸的下標來取值。對于使用一維整型數組作為索引,如果目標是一維數組,那么索引的結果就是對應下標的行,如果目標是二維數組,那么就是對應位置的元素。花式索引跟切片不一樣,它總是將數據復制到新數組中。
""" Author:XiaoMa date:2021/12/30 """ import numpy as npx = np.arange(32).reshape((8, 4)) print('生成的數組為:') print(x) print('傳入順序索引數組:') print(x[[4, 2, 1, 7]]) print('傳入倒序索引數組:') print(x[[-4, -2, -1, -1]]) print('傳入多個索引數組:') print(x[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])])#輸出的是兩個向量不同維度組合的值得到輸出如下:
總結
以上是生活随笔為你收集整理的Python 科学计算库 Numpy (二) —— 索引及切片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 科学计算库 Numpy(一
- 下一篇: Angle Finder(角度测量)