04.Python代碼NumPy-通過索引或切片來訪問和修改
提示:幫幫志會陸續更新非常多的IT技術知識,希望分享的內容對您有用。本章分享的是Python基礎語法。前后每一小節的內容是存在的有:學習and理解的關聯性,希望對您有用~
python語法-numPy 第四節 :通過索引或切片來訪問和修改
上一小節詳細分享了各種不同的方法用來創建NumPy的數組,本小節可能會用到各個方法來創建一個原始數組,如暈,可查:
不同方法創建NumPy數組
文章目錄
- 04.Python代碼NumPy-通過索引或切片來訪問和修改
- 一、索引取值
- 一維數組取值
- 二維數組取值
- 二、切片
- 一維數組切片
- 二維數組切片
- 額外的切片或者索引
- 單個索引 跳著取兩個
- 條件切片
一、索引取值
一維數組取值
索引可以獲取到數組中的單個元素
取一維數組的數據,從0開始為下標 使用:[下標] 取值
import numpy as np
#從0開始
arr01 = np.array([10, 20, 30, 40, 50])
print(arr01[0]) # 輸出第一個元素,結果為10
print(arr01[2]) # 輸出第三個元素,結果為30
二維數組取值
取二維數組(矩陣)的數據,從0開始。第一個索引用于選擇行,第二個索引用于選擇列。
arr02 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr02)#輸出矩陣看一眼
print(arr02[1, 2]) # 輸出第二行第三列的元素,結果為6
二、切片
切片的概念:允許訪問數組的一部分,而不是單個元素。你可以指定一個范圍。
或者從原數組中切割出一個新數組(切片)。
一維數組切片
1.切片對象可以通過內置的 slice 函數
import numpy as npa = np.arange(10)
print(a)
#聲明一個切片變量
#較常用:數據處理和人工智能的時候
# 能保證所有數據都是一樣的切片。使用同一個切片對象
s = slice(2,7,2)#從索引2開始到7結束,間隔為2
print(a[s]) #將s作為參數傳遞給a
2.使用冒號分隔切片參數 start:stop:step(開始:結束:步長)
這個返回一個新的數組
a01 = np.arange(10)
print(a01)
a02 = a01[2:7:2]##從索引2開始到7結束,間隔為2
print(a02)
運行結果和剛才一樣的
1和2里面的間隔參數,可以不用傳。就直接是開始索引到結束索引中間的數據(沒有間隔),如:a01[2:7]
3.使用冒號語法
[2],將返回與該索引相對應的單個元素。(這不就是索引語法嘛~)
如果為 [2:],表示從該索引開始以后的所有項都將被提取
arr = np.arange(10)
print(arr)
print(arr[2])
print(arr[2:])
二維數組切片
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)
print(arr[1:, 1:]) # 從第二行第二列開始到最后的元素,結果為[[5, 6], [8, 9]]
額外的切片或者索引
單個索引 跳著取兩個
arr = np.array([10, 20, 30, 40, 50])
# 選擇索引為1和3的元素,結果為[20, 40]
# 沒有順序 沒有條件
#注意 語法
print(arr[[1, 3]])
條件切片
arr = np.array([10, 20, 30, 40, 50])
# 選擇大于20的元素,結果為[30, 40, 50]
#注意語法
print(arr[arr > 20])
(會陸續更新非常多的IT技術知識及泛IT的電商知識,可以點個關注,共同交流。比心)