02-NumPy数值计算

时间:2024-03-19 14:01:46

前言

NumPy是用于数据科学计算的基础模块,不但能够完成科学计算的任务,而且能够被用作高效的多维数据容器,可以用于存储和处理大型矩阵。
以下所有示例仅包含部分函数,更多查看官方文档。

1. 数组对象 ndarray

NumPy提供了两种基本对象:ndarray 和 ufunc。其余的对象都是以这两种对象为基础(如矩阵)。

  1. 创建数组
    02-NumPy数值计算
    重设shpae属性:
    02-NumPy数值计算
    使用 arange 函数创建数组:
    02-NumPy数值计算
    使用 linespace 函数创建数组:
    02-NumPy数值计算
    包括但不限于:
    02-NumPy数值计算

  2. 数据类型
    数据类型转换:
    02-NumPy数值计算
    使用自定义数据类型创建数组:
    02-NumPy数值计算

  3. 生成随机数
    02-NumPy数值计算
    其他随机函数:
    02-NumPy数值计算

  4. 访问数组元素
    一维数组:
    02-NumPy数值计算
    二维数组:
    02-NumPy数值计算
    02-NumPy数值计算

  5. 改变数组形状
    02-NumPy数值计算
    展平数组:
    02-NumPy数值计算
    组合数组:
    02-NumPy数值计算
    数组分割:
    02-NumPy数值计算

2. NumPy 矩阵和通用函数

  1. 创建矩阵
    02-NumPy数值计算
    02-NumPy数值计算
    矩阵的运算与线性代数中的运算相同:
    02-NumPy数值计算
    矩阵特有属性:
    02-NumPy数值计算
  2. ufunc 函数
    数组的四则运算:
    02-NumPy数值计算
    数组的比较运算:
    02-NumPy数值计算
    数组的逻辑运算:
    02-NumPy数值计算
  3. ufunc 函数的广播机制
    广播机制是指不同形状的数组之间执行算术运算的方式。
    当使用ufunc函数进行数组计算时,前提是两个数组的 shape 一致,如果不一致,那就会实行广播机制。
    一维数组:
    02-NumPy数值计算
    二维数组:
    02-NumPy数值计算
    从上述两个示例来看:
  • 一维数组的广播机制就是纵向的复制第一行的数据。
  • 二维的广播机制就是横向的复制第一列的数据。

3. 利用NumPy进行统计分析

  1. 读写文件
    二进制文件,写:
    02-NumPy数值计算
    02-NumPy数值计算
    二进制文件,读:
    02-NumPy数值计算
    还支持多个数组同时保存:
np.savez("./savez_attr", arr1, arr2)

文本文件,写:
02-NumPy数值计算
02-NumPy数值计算
文本文件,读:
02-NumPy数值计算
上述读、写函数,还支持指定分隔符、保存数据类型等参数。

  1. 排序
    02-NumPy数值计算
    02-NumPy数值计算

  2. 去重与重复数据
    02-NumPy数值计算

  3. 常用的统计函数
    02-NumPy数值计算
    其他统计函数如:std、var等用法相同。
    累计求和、累计积:
    02-NumPy数值计算

完!