02 numpy 索引与切片

Posted 吃个糖糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02 numpy 索引与切片相关的知识,希望对你有一定的参考价值。

文章目录

切片

一维数组的切片

import numpy as np
a=np.arange(10)
print(a)
print("--------------")
print(a[2:7:2])

二维数组的切片

import numpy as np
a=np.arange(10).reshape(2,5)
print(a)
print("--------------")
print(a[0,3])  #获取0行3列的数字
print("--------------")
print(a[1]) #获取第1行
print("--------------")
print(a[-1]) #获取最后一行
print("--------------")
print(a[0:1,1:3]) #获取0行,1-2列

bool索引

import numpy as np
a=np.arange(10)
#筛选大于5的数字
b=a>5
print(b)
print(a[b])

数组大于5的变成1,小于5的变成0

注意:先写小于,再写大于

import numpy as np
a=np.arange(10)
print(a)
a[a<=5]=0
a[a> 5]=1
print(a)

数组大于5的加520,小于5的变成0

import numpy as np
a=np.arange(10)
print(a)
a[a<=5]=0
a[a> 5]+=520
print(a)

二维数组

import numpy as np
a=np.arange(1,21).reshape(4,5)
print(a)
print('------------------')
a[a<=5]=0
a[a> 5]+=520
print(a)

大于7的偶数

import numpy as np
a=np.arange(0,10)
print(a)
print('------------------')
#大于7的偶数
b=(a>7 )&( a%2==0)
print(a[b])

神奇索引

获取 1,2,3 行

import numpy as np
a=np.arange(36).reshape(9,4)
print(a)
print('------------------')
print(a[[3,4,5]]) # 获取 1,2,3 行 

获取 1,2,3 行 的1,2,3列

import numpy as np
a=np.arange(36).reshape(4,9)
print(a)
print('------------------')
print(a[[1,2,3]]) # 获取1,2,3 行
print('------------------')
print(a[[1,2,3],[1,2,3]])

取所有行的第1,2列

import numpy as np
a=np.arange(36).reshape(4,9)
print(a)
print('------------------')
print(a[:,[1,2]]) 

特殊

import numpy as np
a=np.arange(10)
print(a)
print("-"*30)
index=np.array([[0,2],[1,3]])
print(a[index])

实例

数组的转置transpose 方法

import numpy as np
a=np.arange(10).reshape(2,5)
print(a)
print("-"*30)
print(a.transpose())

以上是关于02 numpy 索引与切片的主要内容,如果未能解决你的问题,请参考以下文章

numpy-02-数组的索引

[学习笔记] [数据分析] 02NumPy入门与应用

NumPy学习(索引和切片,合并,分割,copy与deep copy)

Numpy之ndarray的查询和修改 - 索引和切片

numpy 如何排序数组切片索引?

Numpy学习二:数组的索引与切片