欢迎这位怪蜀黍来到《Python机器学习(四十)NumPy 数组切片 - 大码王 - 博客园》

关闭页面特效

 


要访问或修改ndarray数组中的元素,可以使用数组切片/索引。

如前所述,ndarray数组索引从0开始。

使用切片访问数组,首先通过内置slice函数创建一个切片对象,该对象存储了创建时传入的startstopstep参数,把这个切片对象传给数组,我们就可以提取数组的一部分(切片)返回。

一维数组

示例

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

上面的例子中,首先使用arange()函数创建ndarray数组,然后定义一个切片对象,它的startstopstep值分别是2、7和2。当把这个切片对象传递给ndarray数组时,会从数组中提取一部分返回,返回部分的索引从2到7,步长2。

可以直接向ndarray数组传入start:stop:step格式的切片参数,效果相同。

示例

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

输出

[2  4  6]
  • [i] 如果只放一个参数,则返回与索引对应的单个项。
  • [:i] 如果在前面插入:,则从该索引之前的所有项都将被提取。
  • [start:stop] 如果使用了两个参数,中间用:分隔,则使用默认步骤1,提取两个索引(不包括stop)之间的项。

示例

单项切片

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

输出

5

示例

从索引之后切片

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

输出

[2  3  4  5  6  7  8  9]

示例

从索引之前切片

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

输出

[0 1]

示例

在索引之间切片

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

输出

[2  3  4] 

上述规则也适用于多维数组。

多维数组

示例

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

# 切片从索引开始
print('a[1:]切片 ') 
print(a[1:])

输出

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

a[1:]切片
[[3 4 5]
 [4 5 6]]

切片还可以包括省略号(…),表示在该维度上选择全部。

示例

复制代码
# 演示数组
import numpy as np 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 

print ('数组:') 
print (a) 
print ('\n')  

# 返回一个数组,由第二列中的项目组成
print ('第二列中的项目是:')  
print (a[...,1]) 
print ('\n')  

# 返回第二行
print ('第二行中的项目是:') 
print (a[1,...]) 
print ('\n')  

# 返回第一列之后的项目
print ('第一列之后的项目:') 
print (a[...,1:])
复制代码

输出

复制代码
数组:
[[1 2 3]
 [3 4 5]
 [4 5 6]] 

第二列中的项目是:
[2 4 5] 

第二行中的项目是:
[3 4 5]

第一列之后的项目:
[[2 3]
 [4 5]
 [5 6]] 
复制代码

 

 posted on   大码王  阅读(785)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

成都

复制代码

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示

目录导航