numpy知识框架

https://www.numpy.org.c[numpy中文说明文档]

NumPy是Python中科学计算的基础软件包。
它是一个提供多了维数组对象,多种派生对象(如:掩码数组、矩阵)以及用于快速操作数组的函数及API,
它包括数学、逻辑、数组形状变换、排序、选择、I/O 、离散傅立叶变换、基本线性代数、基本统计运算、随机模拟等等。

NumPy包的核心是ndarray对象。

数组对象

数据采集与存储

数组的创建.

  • Ones 和 zeros 方法
np.ones((3,3), dtype=bool)
  • 用现有数据
np.r_[np.repeat(a, 3), np.tile(a, 3)]
  • 随机
    每次运行代码时设置相同的seed,则每次生成的随机数也相同,如果不设置seed,则每次生成的随机数都会不一样
    np.random.randint,np.random.random,np.random.randn

数组的索引与切片

  • 指数索引
arr[arr % 2 == 1] = -1
  • 布尔索引
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr % 2 == 1]
np.where(arr % 2 == 1, -1, arr)
  • 切片
    切片的三个参数分别代表开始索引、结束索引和步长值arr[::-1]

数组的合并

np.concatenate([a, b], axis=0)
np.vstack([a, b])
np.r_[a, b]

数组的布尔运算
unique
intersect1d(x,y) 交集
union1d(x,y) 并集
setdiff1d(x,y) 集合
setxor1d(x,y) 集合对称差
in1d(x,y) x的元素是否包含于y

数组的变换

  • 交换数组的行列
    arr = np.arange(9).reshape(3,3) arr[:, [1,0,2]]
  • 反转二维数组的行列
    arr[::-1] arr[:, ::-1]

数组值的精度控制

  • 设置数字的精度,长度
np.set_printoptions(precision=3),np.set_printoptions(threshold=6),np.set_printoptions(threshold=np.nan)
  • e式科学记数法
    rand_arr = np.random.random([3,3])/1e3

数组分析

矩阵对象

  1. 矩阵的创建
  • 矩阵的运算

    • 矩阵相乘
    • 矩阵点乘
    • 矩阵求逆、转置
    • 矩阵对应行列的最大值,最小值,和
    • 矩阵分隔、合并
    • 矩阵的分解

矢量运算

python中的zip、map、reduce 、lambda函数的使用。

操作数组的函数及API

你可能感兴趣的:(numpy)