python数组索引和切片_python numpy数组的索引和切片的操作方法

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] #8

arr1[arr1.size-2] #7

arr1[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)

])

arr2

array([[1, 2, 3],

[5, 6, 7]])

# 索引

arr2[0][2] # 3

arr2[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)

arr4

array([[[ 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] # 23

arr4[1,1,1] #18

arr3[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数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2018-10-19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值