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

 更新时间:2022年05月23日 08:55:12   作者:​ tigeriaf   ​  
这篇文章主要介绍了Python中的 Numpy 数组形状改变及索引切片,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 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python打印输出数组中全部元素

    Python打印输出数组中全部元素

    使用Python打印数组时会遇到一个问题,当打印的数组元素比较多时,会出现只打印出数组开始与结尾部分中间部分用省略省略了,下面的方法可以完美解决这个问题
    2018-03-03
  • python基础知识之字典(Dict)

    python基础知识之字典(Dict)

    这篇文章主要介绍了python基础知识之字典(Dict)的相关资料,需要的朋友可以参考下
    2023-02-02
  • Python中空格的转义字符方式

    Python中空格的转义字符方式

    这篇文章主要介绍了Python中空格的转义字符方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • PyExecJS无法安装的问题解决

    PyExecJS无法安装的问题解决

    我们需要在Python中执行一些JavaScript代码时,可能需要使用到execjs模块,本文主要介绍了PyExecJS无法安装的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Django实现文件上传下载功能

    Django实现文件上传下载功能

    这篇文章主要为大家详细介绍了Django实现文件上传下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python多进程下实现日志记录按时间分割

    python多进程下实现日志记录按时间分割

    这篇文章主要为大家详细介绍了python多进程下实现日志记录按时间分割,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • numpy自动生成数组详解

    numpy自动生成数组详解

    这篇文章主要介绍了numpy自动生成数组详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • jenkins+python自动化测试持续集成教程

    jenkins+python自动化测试持续集成教程

    这篇文章主要介绍了jenkins+python自动化测试持续集成教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 深入解读python字符串函数

    深入解读python字符串函数

    这篇文章主要为大家介绍了python字符串函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • web.py获取上传文件名的正确方法

    web.py获取上传文件名的正确方法

    这篇文章主要介绍了web.py获取上传文件名的正确方法,遇到这个问题的朋友可能会困惑半天,使用本文的正确方法就可以解决这个问题了,需要的朋友可以参考下
    2014-08-08

最新评论