NumPy攻略Python科学计算与数据分析((印尼)IvanIdris著;张崇明译)

书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:

  1. NumPy简介:NumPy是Python科学计算的基础库,提供高性能的多维数组对象(ndarray)和数学函数。
  2. 数组创建
  • np.array([1, 2, 3]) 创建一维数组
  • np.zeros((3,3)) 创建全零矩阵
  • np.arange(10) 类似Python的range
  1. 数组属性
  • ndarray.shape 数组维度
  • ndarray.dtype 数据类型
  • ndarray.size 元素总数
  1. 数组操作
  • 索引和切片(arr[1:3]
  • 布尔索引(arr[arr > 5]
  • 花式索引(arr[[0,2,4]]
  1. 数组运算
  • 逐元素运算(+, -, *, /
  • 矩阵乘法(np.dot(A,B)A @ B
  • 广播机制(不同形状数组的运算)
  1. 常用数学函数
  • np.sin(), np.cos() 三角函数
  • np.exp(), np.log() 指数和对数
  • np.sqrt() 平方根
  1. 统计函数
  • np.mean() 平均值
  • np.median() 中位数
  • np.std() 标准差
  1. 线性代数
  • np.linalg.inv() 矩阵求逆
  • np.linalg.eig() 特征值和特征向量
  • np.linalg.solve() 解线性方程组
  1. 随机数生成
  • np.random.rand() 均匀分布
  • np.random.randn() 标准正态分布
  • np.random.randint() 随机整数
  1. 文件IO
    • np.save()/np.load() 保存和加载数组
    • np.savetxt()/np.loadtxt() 文本文件读写
  2. 数组拼接与分割
    • np.concatenate() 数组拼接
    • np.vstack()/np.hstack() 垂直/水平堆叠
    • np.split() 数组分割
  3. 数组重塑
    • arr.reshape((2,3)) 改变形状
    • arr.flatten() 展平为一维数组
  4. 排序和搜索
    • np.sort() 排序
    • np.argsort() 返回排序索引
    • np.where() 条件搜索
  5. 掩码数组
    • np.ma.masked_array() 处理缺失值
    • np.ma.masked_where() 条件掩码
  6. 性能优化
    • 向量化操作避免循环
    • 使用np.einsum()进行爱因斯坦求和约定
  7. 通用函数(ufunc)
    • np.add.reduce() 累加
    • np.multiply.outer() 外积
  8. 结构化数组
    • 定义复合数据类型(dtype=[('name', 'S10'), ('age', 'i4')]
    • 类似数据库表的操作
  9. 内存布局
    • arr.flags 查看内存信息
    • np.ascontiguousarray() 确保连续内存
  10. 与Pandas交互
    • Pandas的DataFrame与NumPy数组相互转换
    • 使用df.values获取NumPy数组
  11. 实际应用案例
    • 图像处理(数组作为像素矩阵)
    • 机器学习数据预处理
    • 数值模拟和科学计算

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注