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

 更新时间:2018年10月20日 10:00:59   作者:Z_mirror  
NumPy 是一个 Python 包。 它代表 “Numeric 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数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • pymysql 开启调试模式的实现

    pymysql 开启调试模式的实现

    这篇文章主要介绍了pymysql 开启调试模式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python中Qslider控件实操详解

    Python中Qslider控件实操详解

    在本篇文章里小编给大家整理的是一篇关于Python中Qslider控件实操详解内容,对此有兴趣的朋友们可以跟着学习参考下。
    2021-02-02
  • python查看数据类型的方法

    python查看数据类型的方法

    在本篇文章里小编给大家整理了关于python怎么查看数据类型的相关知识点,有需要的朋友们学习下。
    2019-10-10
  • python安装virtualenv虚拟环境步骤图文详解

    python安装virtualenv虚拟环境步骤图文详解

    这篇文章主要介绍了python安装virtualenv虚拟环境步骤,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 一文教会你用nginx+uwsgi部署自己的django项目

    一文教会你用nginx+uwsgi部署自己的django项目

    uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议,下面这篇文章主要给大家介绍了关于用nginx+uwsgi部署自己的django项目的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python爬虫实战项目之爬取pixiv图片

    python爬虫实战项目之爬取pixiv图片

    最近决定写个P站的爬虫,实际操作起来确实遇到了些新问题,通过解决也有所收获,下面这篇文章主要给大家介绍了关于python爬虫实战项目之爬取pixiv图片的相关资料,需要的朋友可以参考下
    2022-07-07
  • PyCharm MySQL可视化Database配置过程图解

    PyCharm MySQL可视化Database配置过程图解

    这篇文章主要介绍了PyCharm MySQL可视化Database配置过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python虚拟环境的创建和使用详解

    Python虚拟环境的创建和使用详解

    这篇文章主要给大家介绍了关于Python虚拟环境的创建和使用的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python实现文本进度条 程序进度条 加载进度条 单行刷新功能

    python实现文本进度条 程序进度条 加载进度条 单行刷新功能

    这篇文章主要介绍了python实现文本进度条 程序进度条 加载进度条 单行刷新功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python中的常量和变量代码详解

    python中的常量和变量代码详解

    这篇文章主要介绍了python中的常量和变量,通过实例代码给大家介绍了局部和全局变量,需要的朋友参考下吧
    2018-07-07

最新评论