一、Numpy:数组计算

1、NumPy是高性能科学计算和数据分析的基础包。它是pandas等其他各种工具的基础。
2、NumPy的主要功能:

  • ndarray,一个多维数组结构,高效且节省空间
  • 无需循环对整组数据进行快速运算的数学函数
  • 读写磁盘数据的工具以及用于操作内存映射文件的工具
  • 线性代数、随机数生成和傅里叶变换功能
  • 用于集成C、C++等代码的工具

3、安装方法:pip install numpy
4、引用方式:import numpy as np

二、Numpy:ndarray-多维数组对象

1、创建ndarray:np.array()

2、ndarray是多维数组结构,与列表的区别是:

  • 数组对象内的元素类型必须相同
  • 数组大小不可修改

3、常用属性:

  • T 数组的转置(对高维数组而言)
  • dtype 数组元素的数据类型
  • size 数组元素的个数
  • ndim 数组的维数
  • shape 数组的维度大小(以元组形式)

4、常用方法
Numpy模块学习_浮点数

三、Numpy:ndarray-数据类型

Numpy模块学习_多维数组_02

四、Numpy:ndarray-创建

创建ndarray:

  • array() 将列表转换为数组,可选择显式指定dtype
  • arange() range的numpy版,支持浮点数
  • linspace() 类似arange(),第三个参数为数组长度
  • zeros() 根据指定形状和dtype创建全0数组
  • ones() 根据指定形状和dtype创建全1数组
  • empty() 根据指定形状和dtype创建空数组(随机值)
  • eye() 根据指定边长和dtype创建单位矩阵

五、Numpy:索引和切片

Numpy模块学习_浮点数_03

六、Numpy:布尔型索引

Numpy模块学习_数组_04

七、Numpy:花式索引

问题1:对于一个数组,选出其第1,3,4,6,7个元素,组成新的二维数组。
答案:a[[1,3,4,6,7]]

问题2:对一个二维数组,选出其第一列和第三列,组成新的二维数组。
答案:a[:,[1,3]]

八、Numpy:通用函数

通用函数:能同时对数组中所有元素进行运算的函数

常见通用函数:

一元函数:abs, sqrt, exp, log, ceil, floor, rint, trunc, modf, isnan, isinf, cos, sin, tan
Numpy模块学习_数组_05
二元函数:add, substract, multiply, divide, power, mod, maximum, mininum
Numpy模块学习_其他_06

九、补充知识:浮点数特殊值

1、浮点数:float
2、浮点数有两个特殊值:

  • nan(Not a Number):不等于任何浮点数(nan != nan)
  • inf(infinity):比任何浮点数都大

3、NumPy中创建特殊值:np.nan np.inf

4、在数据分析中,nan常被用作表示数据缺失值

既然nan连自己都不相等,那么怎么判断是不是NAN呢?
用a==a 只要返回False就能判断
Numpy模块学习_多维数组_07

十、Numpy:数学和统计方法

常用函数:

  • sum 求和
  • cumsum 求前缀和
  • mean 求平均数
  • std 求标准差
  • var 求方差
  • min 求最小值
  • max 求最大值
  • argmin 求最小值索引
  • argmax 求最大值索引

十一、Numpy:随机数生成

随机数生成函数在np.random子包内
常用函数

  • rand 给定形状产生随机数组(0到1之间的数)
  • randint 给定形状产生随机整数
  • choice 给定形状产生随机选择
  • shuffle 与random.shuffle相同
  • uniform 给定形状产生随机数组