Python numpy 模块

210 阅读3分钟

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战

hello,jym大家好,我们又见面啦。随着春节的临近,在浓烈的归乡之情下,我们也不忘继续学习。

祝大家在新的一年中,旗开得胜,如虎添翼,虎虎生威~~

前言

接着我们21年持续一个月中对Python 对图表绘制支持的第三方库matplotlib模块的学习。

在绘制图表之前,如何获取和创建所需要的的数据进行试验呢?

在motplotlib的学习过程中,我们使用最多的就是numpy模块

numpy 模块被称为 matplotlib 模块绘制图表伴侣。

xdm,接下来我们来对 matplotlib 伴侣-numpy 模块相关知识的学习,Let's go~

1. numpy 简介

numpy 模块是 Python 支持对大量数组进行科学计算的第三方库。

numpy 模块在numpy官网文档中详细描述了numpy模块提供许多对多维数组对象、矩阵快速操作快速操作的功能。

  • 数学、逻辑、形状操作
  • 排序、选择、I/O
  • 基本线性代数、基本统计运算、随机模拟
  • 广播,字节交换

numpy 模块为开源代码,目前官网已经更新到1.22.0版本。

github源码链接,对其源码感兴趣的兄弟们可以康康哈~

  • numpy 应用场景

    numpy 模块通常与matplotlib(绘图库) 一起使用。

    在matplotlib绘制图表前进行对数据进行计算处理。

  • numpy 模块安装

    由于numpy 模块是Python提供对数据处理的第三库,需要使用pip install来安装

    pip install numpy
    
  • numpy 模块使用

    在代码中,我们需要使用import 来进行导入

    import numpy as np
    

2. numpy 特点

numpy 模板的核心是ndarray对象,这个对象封装同种类型的n维数组,将许多操作留在编译代码中执行,进而提高性能。

numpy array 与 python 内置的list区别点

  • numpy 数组在创建时是固定大小,python list列表大小是动态变化的。如果要更改ndarray的大小则是将原始数组删除后重新创建新的数组
  • numpy 数组中元素必须是同数据类型的,因而内存中的大小相同。python list 可以允许不同类型的元素存在。
  • numpy 数组对大量数据进行高级数学运算的执行效率比Python list更高
  • numpy 数组在科学计算被大量使用,对目前主流的科学数学软件都是基于此模块。

3. numpy 常用方法

numpy 模块善于对大量数据进行科学计算,因此它不仅提供多维的数组对象array,还有通用函数方法等。

  • 目前,我们此文章先介绍numpy 模块中常用的方法哈

    方法作用
    numpy.array(item)创建数组对象(可创建N维数组)
    numpy.arange(num)创建等差数组
    numpy.random.randn(d0,d1,…,dn)创建随机正态分布
    numpy.dtype()创建自定义数据类型
    numpy.random.rand(d0,d1,…,dn)创建0~1的数据
    numpy.random.randint(low,high)创建给定范围的随机整数
    numpy.random.random_integers(low,high)返回给定范围随机整数
    numpy.random.random(size)随机生成0,1之间的浮点数
    numpy.random.choice(a,size)从给定的一维数组中生成随机数
    numpy.random.seed()提前得知随机数据
    numpy.linespcae()创建线性数组
    numpy.sort()对数组数据进行排序

4. 小试牛刀

本期,我们将使用numpy进行创建数组、切片、索引、广播等功能实操

# 创建一个三维数组
arr = np.array([[0,0,0],[2,3,9],[1,2,3]])

# numpy通过索引或者切片来访问,arr[start:stop:step]

print("切片a[1:]:\n",arr[1:])

# 广播功能,两个数组进行➕

b = np.array([2,5,7])
print("arr+b:\n",arr+b)

总结

本期,我们对matplotlib绘图模块伴侣-numpy模块进行认识和了解。numpy 模块提供的数组对象让其在多维数据数学运算比Python内置方法更加高效。

以上是本期内容,欢迎大佬们点赞评论,下期见~