数据分析实战——04丨Python科学计算:用NumPy快速处理数据

  • 使用 NumPy 让你的 Python 科学计算更高效
    • 它不仅是 Python 中使用最多的第三方库,而且还是 SciPy、Pandas 等数据科学的基础库
    • 它所提供的数据结构比 Python 自身的“更高级、更高效”
  • 为什么要用 NumPy 数组结构而不是 Python 本身的列表 list?
    • 这是因为列表 list 的元素在系统内存中是分散存储的,而 NumPy 数组存储在一个均匀连续的内存块中
    • 这样数组计算遍历所有的元素,不像列表 list 还需要对内存地址进行查找,从而节省了计算资源
  • 需要一些技巧来提升内存和提高计算资源的利用率
    • 一个重要的规则就是:避免采用隐式拷贝,而是采用就地操作的方式
    • 举个例子,如果我想让一个数值 x 是原来的两倍,可以直接写成 x*=2,而不要写成 y=x*2
  • 在 NumPy 里有两个重要的对象
    • ndarray(N-dimensional array object)解决了多维数组问题
    • 而 ufunc(universal function object)则是解决对数组进行处理的函数
  • ndarray 对象
    • ndarray 实际上是多维数组的含义
    • 通过函数 shape 属性获得数组的大小,通过 dtype 获得元素的属性
  • ufunc 运算
    • ufunc 是 universal function 的缩写,它能对数组中每个元素进行函数操作
    • 统计最大值与最小值之差 ptp()
    • 统计数组的百分位数 percentile()
    • 统计数组中的中位数 median()、平均数 mean()
    • 统计数组中的加权平均值 average()
    • 统计数组中的标准差 std()、方差 var()
  • NumPy 排序
    • sort(a, axis=-1, kind=‘quicksort’, order=None),默认情况下使用的是快速排序
    • 在 kind 里,可以指定 quicksort、mergesort、heapsort 分别表示快速排序、合并排序、堆排序
posted @ 2020-04-29 18:01  怡情养性长智  阅读(225)  评论(0编辑  收藏  举报