numpy陣列切片介紹及使用

2021-09-28 07:00:05 字數 1973 閱讀 1432

1.在cmd輸入:pip install numpy

2.測試一下python -c 「import numpy」,沒有報錯就正常了

numpy 最重要的乙個特點是其 n 維陣列物件 ndarray,它是一系列同型別資料的集合,以 0 下標為開始進行集合中元素的索引。

ndarray物件的內容可以通過索引或切片來訪問和修改,與 python 中 list 的切片操作一樣。

通過冒號分隔切片引數 start:stop:step 來進行切片操作:

冒號 : 的解釋:

(1)如果只放置乙個引數,如 [2],將返回與該索引相對應的單個元素。

(2)如果使用了兩個引數,如 [2:],表示從該索引開始以後的所有項都將被提取。

(3)如果使用了兩個引數,如 [2:7],那麼則提取兩個索引(不包括停止索引)之間的項。

(4)如果使用了三個引數,如[2:7:2],那麼提取兩個索引(不包含停止索引)之間的項,且間隔為2 的取值。

(5)如果引數是負數,如[:-1],那麼提取值為除了最後乙個全部取。

注意:索引是從0開始計算的。

如:從陣列中獲取索引2到索引7的間隔為2的數值

# coding:utf-8

import numpy as np

a=np.arange(10) #[0,1,2,3,4,5,6,7,8,9,10]

b=a[2:7:2] #從索引 2 開始到索引 7 停止,間隔為 2

print(b) #輸出結果:[2 4 6]

import numpy as np

a = np.array([[1,2,3],[3,4,5],[4,5,6]])

# 從索引1處開始切割

print(a[1:])#輸出結果:[[3 4 5] [4 5 6]]

切片還可以包括省略號 …,來使選擇元組的長度與陣列的維度相同。 如果在行位置使用省略號,它將返回包含行中元素的 ndarray。注意:冒號分隔切片不包含停止索引。

import numpy as np

a = np.array([[1,2,3],[3,4,5],[4,5,6]])

#a[行,列],行索引和列索引以逗號分隔開

print (a[...,1]) # 第2列元素 輸出結果:[2 4 5]

print (a[1,...]) # 第2行元素 輸出結果:[3,4,5]

print (a[...,1:]) # 第2列及剩下的所有元素 輸出結果:[[2 3] [4 5] [5 6]]

以下例項獲取陣列中(0,0),(1,1)和(2,0)位置處的元素。

import numpy as np 

x = np.array([[1, 2], [3, 4], [5, 6]])

y = x[[0,1,2], [0,1,0]] #相當於(0,0)(1,1)(2,0)

print (y) #輸出結果:[1,4,5]

以下例項獲取了 4x3 陣列中的四個角的元素。 行索引是 [0,0] 和 [3,3],而列索引是 [0,2] 和 [0,2]。

import numpy as np

x = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])

rows = np.array([[0, 0], [3, 3]]) #列索引

cols = np.array([[0, 2], [0, 2]]) #行索引

y = x[rows, cols] #相當於(0,0)(0,2)(3,0)(3,2)

print (y) #輸出結果:[[ 0 2] [ 9 11]]

numpy陣列的切片

個人學習筆記!切片語法 x start stop step 一 一維陣列的切片 import numpy as np x np.arange 5,13 xout 4 array 5,6,7,8,9,10,11,12 x 3 前3個元素,即索引0 2所代表的元素 out 6 array 5,6,7 x...

Numpy 索引及切片

索引和切片在基礎語法那篇文章中介紹過,python內建的資料型別基本都可以使用索引和切片,numpy是乙個陣列物件,我們來看看它的索引和切片有什麼不同的地方。普通索引及切片 一維陣列 和python中的列表一樣 ar np.arange 20 print ar print ar 4 print ar...

numpy 索引及切片

布林型索引及切片 陣列索引及切片值的更改 複製 import numpy a numpy.arange 0,20 print a print a 4 print a 4 10 import numpy b numpy.arange 0,16 reshape 4,4 print b print b 2...