第六篇 numpy陣列索引

小懵牛發表於2020-11-05

1、正向陣列索引
1.1單個資料索引

import numpy as np
##一維陣列的切片索引
arr=np.arange(10) #元素計數從0開始
print('原陣列:')
print(arr)
#正向
print('輸出第0個元素:')
print(arr[0])  #輸出第0個元素
print('輸出第2個元素:')
print(arr[2])  #輸出第2個元素

結果:
在這裡插入圖片描述
1.2 片段擷取

import numpy as np
##一維陣列的切片索引
arr=np.arange(10) #元素計數從0開始
print('原陣列:')
print(arr)
#正向
print('輸出第1個-第5個元素:')
print(arr[1:5])
print('輸出第2個-第6個元素:')
print(arr[2:6])

結果如下:
在這裡插入圖片描述

2、逆向陣列索引
2.1 單個元素擷取

import numpy as np
##一維陣列的切片索引
arr=np.arange(10) #元素計數從0開始
print('原陣列:')
print(arr)
print('輸出倒數第1個元素:')
print(arr[-1])
print('輸出倒數第2個元素:')
print(arr[-2])
print('輸出倒數第5個元素:')
print(arr[-5])

結果:
在這裡插入圖片描述
2.2 片段擷取

import numpy as np
##一維陣列的切片索引
arr=np.arange(10) #元素計數從0開始
print('原陣列:')
print(arr)
print('輸出倒數第1個-倒數第5個元素:')
print(arr[-5:-1])
print('輸出倒數第2個-倒數第8個元素:')
print(arr[-8:-2])

結果如下:
在這裡插入圖片描述

2.3 說明
python中的編號方式:
在這裡插入圖片描述
3、二維陣列的索引

import numpy as np
data1=np.arange(15).reshape(3,5)  #生成一個(3,5)二維陣列
print(data1)
print("獲取的是一個維度的資料:")
print(data1[2])    #獲取的是一個維度的資料
print("獲取具體的一個資料(方法1):")
print(data1[2][3])  #獲取的具體的資料
print("獲取具體的一個資料(方法2):")
print(data1[2,3])  #獲取的具體的資料

結果如下:
在這裡插入圖片描述
4、布林操作索引

import numpy as np
fruits=np.array(['apple','banana','pear','banana','pear','apple','pear'])
datas=np.random.randint(-1,1,size=(7,5))#生成1個在-1,1之間的7行5列的陣列
print('生成1個在-1,1之間的7行5列的陣列:')
print(datas)
print('判斷fruits中是pear的元素:')
print(fruits=="pear")   #布林操作  不等號!=  和&  或|  非-
print('判斷fruits中是pear的元素所對應的陣列:')
print(datas[fruits=="pear"])

結果如下:
在這裡插入圖片描述

相關文章