广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的 Numpy 数组形状改变及索引切片
  • 305
分享到

Python中的 Numpy 数组形状改变及索引切片

2024-04-02 19:04:59 305人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.改变数组形状2.索引和切片1.改变数组形状 数组的shape属性返回一个元组,包括维度以及每个轴的元素数量,Numpy 还提供了一个reshape()方法,它可以改变数组的形

1.改变数组形状

数组的shape属性返回一个元组,包括维度以及每个轴的元素数量,Numpy 还提供了一个reshape()方法,它可以改变数组的形状,返回一个新的数组。

例如:

a = np.array([1,2,3,4,5,6,7,8])

转换成二维数组:

b = a.reshape((2,4))

转换成三维数组:

c = a.reshape((2,2,2))

但是需要注意的是,修改后的数组元素个数与原数组元素个数必须是一致的,不一致会报错。 例如执行b = a.reshape((2,5))代码会报“ValueError: cannot reshape array of size 8 into shape (2,5)”的错误。

2.索引和切片

在处理数据时,不可避免要对数据进行索引和切片,选择数据的某几行、某几列数据等,Numpy 在这方面也非常强大,具体如下:

一维数组索引和切片一维数组索引和切片比较简单,类似于python的列表,例如:

a = np.array([1,2,3,4,5,6])
# 获取第4个元素
a[4]
# 获取前3个元素
a[:3]

多维数组索引和切片多维数组有多个轴,那么就需要对每个轴进行索引,此处以二维数组为例:

a = np.array([[1,2,3],[4,5,6]])
# 获取某一行数据(第二行)
a[1]
# 获取第二行第二个数据
a[1,1]

如果取第0轴前2个元素、第1轴前2个元素,那么切片如下:

a[:2,:2]

布尔索引

Numpy 布尔索引指的是根据bool类型True和False确定的索引,例如:

a = np.arange(10)
b = a<6
b

结果输出如下:

array([ True,  True,  True,  True,  True,  True, False, False, False,
       False])

通过结果可以看到,元素值小于6的话,布尔索引值为True,否则为False。 如果想要过滤出来符合条件的结果,而不是输出True和False,可以使用a[b]a[a<6]实现。

到此这篇关于Python中的 Numpy 数组形状改变及索引切片的文章就介绍到这了,更多相关Python Numpy 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中的 Numpy 数组形状改变及索引切片

本文链接: https://www.lsjlt.com/news/118207.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中的 Numpy 数组形状改变及索引切片
    目录1.改变数组形状2.索引和切片1.改变数组形状 数组的shape属性返回一个元组,包括维度以及每个轴的元素数量,Numpy 还提供了一个reshape()方法,它可以改变数组的形...
    99+
    2022-11-11
  • python中ndarray数组的索引和切片的使用
    索引和切片相当于是对数组中内容的读(read)或者查询(inquiry)。是我们获取有用信息(demanded infomation)的重要方法。 对于索引 对于1维数组:在数组名的...
    99+
    2022-11-11
  • python中ndarray数组的索引和切片如何使用
    这篇文章主要介绍“python中ndarray数组的索引和切片如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python中ndarray数组的索引和切片如何使用”文章能帮助大家解决问题。索引...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作