关于pandas:Python数据分析库介绍及引入惯例

62次阅读

共计 1686 个字符,预计需要花费 5 分钟才能阅读完成。

文章和代码等曾经归档至【Github 仓库:https://github.com/timerring/dive-into-AI】或者公众号【AIShareLab】回复 python 数据分析 也可获取。

python 的毛病

Python 有一个叫做全局解释器锁(Global Interpreter Lock,GIL)的组件,这是一种避免解释器同时执行多条 Python 字节码指令的机制。这并不是说 Python 不能执行真正的多线程并行代码。例如,Python 的 C 插件应用原生的 C 或 C ++ 的多线程,能够并行运行而不被 GIL 影响,只有它们不频繁地与 Python 对象交互。

重要的 python 库

NumPy

NumPy(Numerical Python 的简称)是 Python 科学计算的根底包。

  • 疾速高效的多维数组对象 ndarray。
  • 作为在算法和库之间传递数据的容器。对于数值型数据,NumPy 数组在存储和解决数据时要比内置的 Python 数据结构高效得多。此外,由低级语言(比方 C 和 Fortran)编写的库能够间接操作 NumPy 数组中的数据,无需进行任何数据复制工作。

因而,许多 Python 的数值计算工具应用 NumPy 数组作为次要的数据结构。

pandas

pandas 提供了疾速便捷解决结构化数据的大量数据结构和函数。用得最多的 pandas 对象

  • DataFrame,它是一个面向列(column-oriented)的二维表构造
  • Series,一个一维的标签化数组对象。

pandas 兼具 NumPy 高性能的数组计算性能以及电子表格和关系型数据库(如 SQL)灵便的数据处理性能。它提供了简单精密的索引性能,能更加便捷地实现重塑、切片和切块、聚合以及选取数据子集等操作。

matplotlib

matplotlib 是最风行的用于绘制图表和其它二维数据可视化的 Python 库。

SciPy

SciPy 是一组专门解决科学计算中各种规范问题域的包的汇合,次要包含上面这些包:

  • scipy.integrate:数值积分例程和微分方程求解器。
  • scipy.linalg:扩大了由 numpy.linalg 提供的线性代数例程和矩阵合成性能。
  • scipy.optimize:函数优化器(最小化器)以及根查找算法。
  • scipy.signal:信号处理工具。
  • scipy.sparse:稠密矩阵和稠密线性系统求解器。
  • scipy.special:SPECFUN(这是一个实现了许多罕用数学函数(如伽玛函数)的 Fortran 库)的包装器。
  • scipy.stats:规范间断和离散概率分布(如密度函数、采样器、间断散布函数等)、各种统计测验办法,以及更好的描述统计法。

scikit-learn

2010 年诞生以来,scikit-learn 成为了 Python 的通用机器学习工具包。

子模块包含:

  • 分类:SVM、近邻、随机森林、逻辑回归等等。
  • 回归:Lasso、岭回归等等。
  • 聚类:k- 均值、谱聚类等等。
  • 降维:PCA、特征选择、矩阵合成等等。
  • 选型:网格搜寻、穿插验证、度量。
  • 预处理:特征提取、标准化。

statsmodels

一个统计分析包,蕴含经典统计学和经济计量学的算法。

  • 回归模型:线性回归,狭义线性模型,强壮线性模型,线性混合效应模型等等。
  • 方差分析(ANOVA)。
  • 工夫序列剖析:AR,ARMA,ARIMA,VAR 和其它模型。
  • 非参数办法:核密度估计,核回归。
  • 统计模型后果可视化。

statsmodels 更关注与统计推断,提供不确定预计和参数 p - 值。相同的,scikit-learn 重视预测。

留神:当应用 conda 和 pip 二者安装包时,千万不要用 pip 降级 conda 的包,这样会导致环境产生问题。当应用 Anaconda 或 Miniconda 时,最好首先应用 conda 进行降级。

常见的引入常规

最佳引入形式如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm

不倡议间接引入相似 NumPy 这种大型库的全部内容(from numpy import *)。

正文完
 0