[读书笔记] Python 数据分析 高级NumPy

Posted VincentCheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[读书笔记] Python 数据分析 高级NumPy相关的知识,希望对你有一定的参考价值。

da 

array: 一个快速而灵活的同构多维大数据集容器,可以利用这种数组对整块的数据进行一些数学运算

  • 数据指针,系统内存的一部分
  • 数据类型 data type/dtype
  • 指示数据大小的元组
  • stride: strides中保存的是当每个轴的下标增加1时,数据存储区中的指针所增加的字节数
    • In [6]: np.ones((3,4,5),dtype=np.float64).strides

      Out[6]: (160, 40, 8)

ndarray数据结构:

reshape()函数 -1参数,该维度的的内容由原内容自动填充

C vesu Fortran order:

  •  : row order
  • Fortran order: column order

numpy 的 ndarray 是row order, reshape()和ravel()函数都接受一个参数进行C/F转换

 数组重构

更加简洁的数组重构方式:c_, r_c 

 

数组重复/复制

repeat: 重复数组中的每一个元素特定次数,可以为每一个元素指定重复次数

 

tile:在指定轴上重复复原

Take and Put

取出数组中的特定元素

Broadcasting/广播

沿X轴传播和沿Y轴传播有细微的差别

np.newaxis()加入新轴

 

Advanced ufunc Usage

ufunc 是universal function的缩写,它是一种能对数组的每个元素进行操作的函数,Numpy内置的许多ufunc函数都是在C语言级别实现的,因此它们的计算速度非常快

  • np.add.reduce: 加和操作
  • np.add.accumulate: 和reduce类似,返回和输入数组形状相同,保存所有的中间计算结果

  • np.multiply.outer: element-wise 点积

 用户自定义函数

frompyfunc

Structured and Record Arrays


使用dtype创建结构化的表格型数据,类似C中的结构

 

numpy 排序

argsort:

lexsort: multiple sort

 

searchsorted

  • 查找已排序数组中的元素,返回查找值在数组中应该插入的位置,该种插入方式可以使得数组仍是有序的
  • 也可以用来查找元素在一定区间中的位置

 Speed Performance: 

Cpython

 

以上是关于[读书笔记] Python 数据分析 高级NumPy的主要内容,如果未能解决你的问题,请参考以下文章

Python基础教程读书笔记 - 2016/7/4

《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

JavaScript高级程序设计-读书笔记

JavaScript高级程序设计读书笔记

javascript高级程序设计 读书笔记2

JavaScript 高级程序设计读书笔记