NumPy - 索引和切片

NumPy - 索引和切片 首页 / Numpy入门教程 / NumPy - 索引和切片

可以通过索引或切片来访问和修改ndarray对象的内容,就像Python的内置容器对象 一样。

slice切片是Python切片概念的扩展,向内置的 slice 函数提供 start,stop 和 step 参数来构造Python切片对象 ,将此切片对象传递到数组以提取数组的一部分。

示例1

import numpy as np 
a = np.arange(10) 
s = slice(2,7,2) 
print a[s]

其输出如下-

[2  4  6]

传递给ndarray时,将对它的一部分进行索引(从索引2到7并以2的步长)进行切片。

,也可以获得相同的输出。

示例2

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

在这里,无涯教程将获得相同的输出-

[2  4  6]

如果仅输入一个参数,则将返回与索引相对应的单个项目。

示例3

# slice single item 
import numpy as np 

a = np.arange(10) 
b = a[5] 
print b

其输出如下-

5

示例4

# 从索引开始切片元素
import numpy as np 
a = np.arange(10) 
print a[2:]

现在,输出将是-

[2  3  4  5  6  7  8  9]

示例5

# 在索引之间切片元素
import numpy as np 
a = np.arange(10) 
print a[2:5]

在这里,输出将是-

[2  3  4] 

上面的描述也适用于多维 ndarray

示例6

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

# 从索引开始切片元素
print 'Now we will slice the array from the index a[1:]' 
print a[1:]

输出如下-

[[1 2 3]
 [3 4 5]
 [4 5 6]]

Now we will slice the array from the index a[1:]
[[3 4 5]
 [4 5 6]]

切片还可以包括省略号(…),以使选择元组的长度与数组的维数相同。如果在行位置使用省略号,它将返回一个由行中的项组成的ndarray

示例7

# 数组开始
import numpy as np 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 

print 'Our array is:' 
print a 
print '\n'  

# 这将返回第二列中的元素数组
print 'The items in the second column are:'  
print a[...,1] 
print '\n'  

# 现在我们将从第二行切片所有元素
print 'The items in the second row are:' 
print a[1,...] 
print '\n'  

# 现在我们将从第 1 列开始切片所有元素
print 'The items column 1 onwards are:' 
print a[...,1:]

该程序的输出如下-

Our array is:
[[1 2 3]
 [3 4 5]
 [4 5 6]] 
 
The items in the second column are: 
[2 4 5] 

The items in the second row are:
[3 4 5]

The items column 1 onwards are:
[[2 3]
 [4 5]
 [5 6]] 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

算法面试通关40讲 -〔覃超〕

零基础学Java -〔臧萌〕

DDD实战课 -〔欧创新〕

NLP实战高手课 -〔王然〕

编译原理实战课 -〔宫文学〕

Web 3.0入局攻略 -〔郭大治〕

手把手教你落地DDD -〔钟敬〕

手把手带你写一个MiniSpring -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)