python numpy数组的索引和切片的操作方法
Python  /  管理员 发布于 7年前   148
NumPy - 简介
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。
NumPy 操作
使用NumPy,开发人员可以执行以下操作:
•数组的算数和逻辑运算。
•傅立叶变换和用于图形操作的例程。
•与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
numpy库多维数组的类型和列表的类型非常类似,同样有索引和切片功能:
索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
1.一维数组
# 准备一个数组arr1=np.array(np.arange(9))arr1
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
# 索引arr[-1] #8arr1[arr1.size-2] #7arr1[arr1.size-9] #0 # 切片 :[start:end:step]arr1[1:4] #左开右闭的区间arr1[1:5:2] #array([1,3])arr1[::-1] # 反向取所有,-1变成了步长
2.二维数组
# 准备一个二维数组arr2=np.array([ np.arange(1,4), np.arange(5,8)])arr2array([[1, 2, 3], [5, 6, 7]])# 索引arr2[0][2] # 3arr2[0,2] # 3# 切片arr2[0,] # array([1,2,3]) arr2[0,::] # 同上arr2[0,0:3] #array([1,2])
3.多维数组
arr4=np.arange(1,25).reshape(2,3,4)arr4array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]])arr4[1][2][2] # 23arr4[1,1,1] #18arr3[1,1,] # array([17,18,19,20])arr4[1,1,::] # 同上arr4[1,1,::-1] # array([20, 19, 18, 17])arr4[0,1:3] #array([[ 5, 6, 7, 8], #[ 9, 10, 11, 12]])arr4[:1,1] #array([ 6, 18])b[1,:,2] #array([15, 19, 23])b[1,...] #array([[13, 14, 15, 16], # [17, 18, 19, 20], # [21, 22, 23, 24]])b[0,::-1,-1] #array([12, 8, 4])b[:,:,-1][::-1][:,-1] #array([24, 12])
总结
以上所述是小编给大家介绍的python numpy数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号