干货收藏!一文看懂8个常用Python库从安装到应用

本文介绍了Python数据分析中常用的八大库:NumPy、SciPy、Matplotlib、pandas、StatsModels、scikit-learn、Keras和Gensim。这些库为Python提供了矩阵运算、数据可视化、机器学习、深度学习和文本分析等功能。NumPy是基础,SciPy增强了矩阵计算,Matplotlib用于数据可视化,pandas是强大的数据分析工具,StatsModels专注于统计建模,scikit-learn提供机器学习算法,Keras是深度学习框架,而Gensim则用于文本主题模型。文章还包含了各库的安装方法和简单示例,帮助读者快速上手。
摘要由CSDN通过智能技术生成


导读:Python本身的数据分析功能并不强,需要安装一些第三方扩展库来增强其相应的功能。本文将对NumPy、SciPy、Matplotlib、pandas、StatsModels、scikit-learn、Keras、Gensim等库的安装和使用进行简单的介绍。

作者:张良均 谭立云 刘名军 江建明

来源:大数据DT(ID:hzdashuju)

如果读者安装的是Anaconda发行版,那么它已经自带了以下库:NumPy、SciPy、Matplotlib、pandas、scikit-learn。

本文主要是对这些库进行简单的介绍,读者也可以到官网阅读更加详细的使用教程。

  • NumPy:提供数组支持以及相应的高效的处理函数

  • SciPy:提供矩阵支持以及矩阵相关的数值计算模块

  • Matplotlib:强大的数据可视化工具、作图库

  • pandas:强大、灵活的数据分析和探索工具

  • StatsModels:统计建模和计量经济学,包括描述统计、统计模型估计和推断

  • scikit-learn:支持回归、分类、聚类等强大的机器学习库

  • Keras:深度学习库,用于建立神经网络以及深度学习模型

  • Gensim:用来做文本主题模型的库,文本挖掘可能会用到

01 NumPy

Python并没有提供数组功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量较大时,使用列表的速度就会很慢。为此,NumPy提供了真正的数组功能以及对数据进行快速处理的函数。

NumPy还是很多更高级的扩展库的依赖库,我们后面介绍的SciPy、Matplotlib、pandas等库都依赖于它。值得强调的是,NumPy内置函数处理数据的速度是C语言级别的,因此在编写程序的时候,应当尽量使用其内置函数,避免效率瓶颈的(尤其是涉及循环的问题)出现。

在Windows操作系统中,NumPy的安装跟普通第三方库的安装一样,可以通过pip命令进行,命令如下:

pip install numpy

也可以自行下载源代码,然后使用如下命令安装:

python setup.py install

在Linux操作系统下,上述方法也是可行的。此外,很多Linux发行版的软件源中都有Python常见的库,因此还可以通过Linux系统自带的软件管理器安装,如在Ubuntu下可以用如下命令安装:

sudo apt-get install python-numpy

安装完成后,可以使用NumPy对数据进行操作,如代码清单2-27所示。

  • 代码清单2-27 使用NumPy操作数组

# -*- coding: utf-8 -*
import numpy as np                     # 一般以np作为NumPy库的别名
a = np.array([2, 0, 1, 5])             # 创建数组
print(a)                               # 输出数组
print(a[:3])                           # 引用前三个数字(切片)
print(a.min())                         # 输出a的最小值
a.sort()                               # 将a的元素从小到大排序,此操作直接修改a,因此这时候a为[0, 1, 2, 5]
b= np.array([[1, 2, 3], [4, 5, 6]])    # 创建二维数组
print(b*b)                             # 输出数组的平方阵,即[[1, 4, 9], [16, 25, 36]]

NumPy是Python中相当成熟和常用的库,因此关于它的教程有很多,最值得一看的是其官网的帮助文档,其次还有很多中英文教程,读者遇到相应的问题时,可以查阅相关资料。

参考链接:

http://www.numpy.org

http://reverland.org/python/2012/08/22/numpy

02 SciPy

如果说NumPy让Python有了MATLAB的味道,那么SciPy就让Python真正成为半个MATLAB了。NumPy提供了多维数组功能,但它只是一般的数组,并不是矩阵,比如当两个数组相乘时,只是对应元素相乘,而不是矩阵乘法。SciPy提供了真正的矩阵以及大量基于矩阵运算的对象与函数。

SciPy包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必需的。

SciPy依赖于NumPy,因此安装之前得先安装好NumPy。安装SciPy的方式与安装NumPy的方法大同小异,需要提及的是,在Ubuntu下也可以用类似的命令安装SciPy,安装命令如下:

sudo apt-get install python-scipy

安装好SciPy后,使用SciPy求解非线性方程组和数值积分,如代码清单2-28所示。

  • 代码清单2-28 使用SciPy求解非线性方程组和数值积分

# -*- coding: utf-8 -*
# 求解非线性方程组2x1-x2^2=1,x1^2-x2=2
from scipy.optimize import fsolve       # 导入求解方程组的函数
def f(x):                               # 定义要求解的方程组
    x1 = x[0]
    x2 = x[1]
    return [2*x1 - x2**2 - 1, x1**2 - x2 -2]

result = fsolve(f, [1,1])    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值