• numpy、scipy、pandas


      以下分别是numpy、Scipy、pandas的简介。虽然这些包提供的一些结构比python自身的“更高级、更高效”,更高级是因为它们能完成更高级的任务,但是,学习的时候尽量不要和python割裂开认识,最好是辩证的看问题,既要看到区别,又要看到联系,这样才能理解深刻、真正的运用自如。比如python提供list这种数据结构,可以用来当作数组使用;比如我们定义一个list。a=range(10),但是要是对每个元素同时操作比如平方操作,这时候可能需要写个循环,就没有np.arange(10)**2方便。同时,以下的简介和case中也会从对比和联系的角度出发,一块学习这些概念或是实体。

      What is numpy?

      标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。

      此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算。

      NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。即提供常用的数值数组、矩阵等函数。ndarray(下文统一称之为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。

      优点是:是基于向量化的运算,进行数值运算时Numpy数组比list效率高

      以上部分主要参考《利用numpy做科学计算》一书(点击书名查看详细介绍)

      What is Scipy?

      numpy 准确地说提供了一个在python中做科学计算的基础库,侠义地讲它重在数值计算,甚至可以说是用于多维数组处理的库;而 scipy 则是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层次的库,主要包含一下模块:

    • statistics
    • optimization
    • numerical integration
    • linear algebra
    • Fourier transforms
    • signal processing
    • image processing
    • ODE solvers
    • special functions

      What is pandas?

      是一种构建于Numpy的高级数据结构和精巧工具,快速简单的处理数据。

    • 支持自动或明确的数据对齐的带有标签轴的数据结构。
    • 整合的时间序列功能。
    • 以相同的数据结构来处理时间序列和非时间序列。
    • 支持传递元数据(坐标轴标签)的算术运算和缩减。

      比如,要是没有pandas,对某行元素的操作或是说转置可能需要很多循环。

    • 灵活处理丢失数据。
    • 在常用的基于数据的数据库(例如基于SQL)中的合并和其它关系操作。
    • 提供数据结构:Series和DataFrame

      

      

      

  • 相关阅读:
    作为技术管理者,我如何保持技术判断力
    管理沟通
    管理规划
    nginx 在浏览器端保持cookie 一致
    openssl 升级操作 -2
    iptables 实际操作 之 规则查询 2
    iptables 概念 1
    openssl 升级 操作 -1
    使用秘钥对登录服务器
    SSH配置免秘钥登录
  • 原文地址:https://www.cnblogs.com/coskaka/p/6103746.html
Copyright © 2020-2023  润新知