numpy 索引及切片

2021-10-05 12:44:47 字數 1791 閱讀 4624

布林型索引及切片

陣列索引及切片值的更改、複製

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])

# 切片為下一維度的乙個元素,所以是一維陣列

print

(b[2][

1])# 二次索引,得到一維陣列中的乙個值

print

(b[2,1

])# 切片陣列中的第3行第2列,與二次索引類似 → 9

print

(b[1:3

])# 切片為兩個一維陣列組成的二維陣列

print

(b[0:2

,1:]

)# 切片陣列中的1,2行、2,3,4列 → 二維陣列

import numpy

c = numpy.arange(0,

12).reshape(3,

2,2)

# 3個3行2列陣列

print

(c)print

(c[2])

# 三維陣列的下乙個維度的第三個元素 → 乙個二維陣列

# 三維陣列的下乙個維度的第三個元素下的第乙個元素 → 乙個一維陣列

print

(c[2][

0])# 三維陣列的下乙個維度的第三個元素下的第乙個元素下的第二個元素 → 乙個值

print

(c[2][

0][1

])

ar[i,:] = ar[i](簡單書寫格式)

使用布林型的矩陣去做篩選

import numpy

a = numpy.arange(0,

12).reshape(3,

4)print

(a)b = numpy.array(

[true

,false

,true])

c = numpy.array(

[true

,false

,true

,false])

print

(a[b,:]

)# 保留第1,3行

print

(a[:

,c])

# 保留第1,3列

print

(a >5)

# 獲得布林型陣列

print

(a[a >5]

)# 獲得符合條件的值

import numpy

# 乙個標量賦值給乙個索引/切片時,會自動改變/傳播原始陣列

a = numpy.arange(0,

10)print

(a)a[5]

=100a[7

:9]=

200print

(a)# 複製

b = a.copy()b[

7:9]

=300

print

(a)# a陣列不受影響

print

(b)# b陣列的數值受到更改

Numpy 索引及切片

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

numpy索引與切片

作用 要獲取陣列的單個元素,指定元素的索引即可 例子 print x 2 3 print x 2 21 22 23 24 25 print x 2 1 22 print x 2,1 22 切片操作是指抽取陣列的一部分元素生成新陣列。對 python列表進行切片操作得到的陣列是原陣列的 副本,而對 n...

numpy 索引和切片

一 取行 1 單行 陣列 index,取第index 1行 例子import numpy as np arr1 np.arange 0,24 reshape 4,6 取第2行資料 row1 arr1 1,print row1 2 連續的多行 陣列 start end 顧頭不顧尾,也可以使用步長,不過...