全文共3118字,预计学习时长13分钟

图源:searchenginejournal

如果你是一名数据科学家或数据分析师,或者只是对这一行业感兴趣,那下文中这些广受欢迎且非常实用的Python库你一定得知道。

从数据收集、清理转化,到数据可视化、图像识别和网页相关,这15个Python库涵盖广泛,本文将对它们进行简介。

想必其中一些你已经熟知,但如果有不知道的,强烈建议你一定要好好了解一下。

数据收集

图源:unsplash

大部分数据分析项目都始于数据收集和提取。在一些情况下,当为公司处理现存问题时,公司可能会提供相关的数据组。但有些时候,可能并没有现成的数据,需要数据工程师自行收集。最常见的情况就是,数据工程师需要从网上自行寻找数据。

1. Scrapy

图源:letslearnabout

要想编写一个Python网络爬虫来从网页上提取信息,Scrapy可能是大部分人第一个想到的Python库。例如,使用者可以提取某城市所有餐厅的评论或是收集网购网站上某一种产品的所有评论。

对于该库最常见的用法是利用它来识别出现在网站页面上那些有趣的信息模式,无论这些信息是以URL的形式出现还是以XPath的形式出现。一旦理清了这些信息的模式,Scrapy就可以协助使用者自动提取所需信息,并将其整理为表格或JSON格式的数据结构。

使用pip即可轻松安装Scrapy。

2. Selenium

图源:medium

Selenium设计者的初衷是将其打造成一个自动网站测试框架,但开发者们发现将其用作网页数据抓取工具的效果更佳。

使用者在感兴趣的网站上已经进行了交互行为之后,Selenium一般能派上用场。比如说,使用者可能需要在网站上注册一个账户,登陆自己的账户,再点击几个按钮或是链接才能找到自己想要的内容。

上述链接被定义为JavaScript函数。在这一情况下,要应用Scrapy或者Beautiful Soup可能都不是很便捷,但使用Selenium就可以轻而易举地完成这一过程。

但应当注意,Selenium比普通的抓取库运行速度要慢得多。这是因为Selenium会将Chrome这样的浏览器初始化并模拟浏览器代码定义的所有行为。

因此,在处理URL模式或Xpaths时,最好还是使用Scrapy或者Beautiful Soup,不到万不得已不要使用Selenium。

3. BeautifulSoup

图源:gitconnected

Beautiful Soup是另一个可以用来收集网站内容的Python库。业界普遍认为,学习BeautifulSoup所需时间比学习Scrapy所需时间要短很多。除此之外,Beautiful Soup更适合应用于规模相对较小的问题或一次性的任务。

Scrapy要求使用者开发自己的“爬虫”并通过命令行进行操作,而使用Beautiful Soup只需将其功能导入计算机中并联机使用即可。因此,使用者甚至可以将Beautiful Soup应用于自己的Jupyternotebook。

数据清理和转化

图源:unsplash

数据清理和转化的重要意义无需赘述,已经有很多出色的Python库能够完美地处理这一问题。笔者将选择几个作为数据科学家或分析师不可不知的进行简要介绍。

4. Pandas

这里提Pandas可能有点多余了,只要是处理过数据的从业者,就不可能没用过Pandas。

使用者可以运用Pandas操控处于Pandas数据框架内的数据。Pandas还内置巨量的函数,帮助使用者进行数据转换。

无需多言,要想学好Python,Pandas必不可少。

5. Numpy

图源:medium

无论是普通用户,还是数据科学家和分析师,Numpy都和Pandas一样,是一个不可或缺的Python库。

Numpy将Python的对象列表拓展成了全面的多维度序列。同时,Numpy还内置了海量的数学函数,这些函数几乎能满足使用者所有的运算要求。通常情况下,使用者可以将Numpy序列用作矩阵并进行矩阵运算。

笔者认为,大部分的数据科学家开始写Python代码时,第一步都是输入以下内容:

import numpy as np

import pandas as pd

因此,说以上两个库是Python使用者中最受欢迎的无可厚非。

6. Spacy

图源:medium

Spacy可能不像上两个库一样名声远扬。Numpy和Pandas主要用于处理数值型数据和结构型数据,而Spacy则能够帮助使用者将自由文本转化为结构型数据。

Spacy是最受欢迎的自然语言处理库之一。从购物网站上抓取了大量的产品评论后需要从中提取有用的信息才能对它们进行分析。Spacy含有大量的内置功能,这些功能能对使用者的工作提供大量帮助。例如词法分析器,已命名个体识别以及特定文本检测。

Spacy还有一大亮点,即它支持多种语言版本。其官网上声称该库提供超55种语言版本。

数据可视化

图源:unsplash

数据可视化是数据分析中不可或缺的环节,只有将结果进行可视化处理才能对数据内容进行解释。

7. Matplotlib

图源:scriptverse

Matplotlib是最全面的Python数据可视化库。有人认为Matplotlib的界面很难看,但笔者认为,作为最基础的Python数据可视化库,Matplotlib能为使用者的可视化目标提供最大的可能性。

使用JavaScript的开发者们也有各自偏好的可视化库,但当所处理的任务中涉及大量不被高级库所支持的定制功能时,开发者们就必须用到D3.js。Matplotlib也是如此。

8. Plotly

图源:pngitem

虽然笔者坚信要进行数据可视化,就必须得掌握Matplotlib,但大多数情况下读者更愿意使用Plotly,因为使用Plotly只需要写最少的代码就能得出最多彩缤纷的图像。

无论是想构造一张3D表面图,或是一张基于地图的散点图,又或是一张交互性动画图,Plotly都能在最短的时间内满足要求。

Plotly还提供一个表格工作室,使用者可以将自己的可视化上传到一个在线存储库中以便未来进行编辑。

数据模块化

图源:unsplash

从事模块化的数据分析师通常会被称为高级分析师。如今,机器学习已经不是什么新鲜概念了。而Python通常被认为是机器学习最常用的语言,因此也有大量出色的库支持在Python中使用。

9. Scikit Learn

图源:kindpng

在沉溺于“深度学习”之前,所有人都应当从使用Scikit Learn来开启自己的机器学习之旅。Scikit Learn有六大主要模块,功能如下:

· 数据预处理

· 维度缩减

· 数据回归

· 数据分类

· 数据聚类分析

· 模型选择

只要能用好Scikit Learn,就已经算得上是一名优秀的数据科学家了。

10. Tensorflow

Tensorflow是由谷歌推出的开源机器学习库。它最受欢迎的功能便是Tensorboard上的数据流图像。

Tensorboard是一个基于网页自动生成的仪表盘,它将数据学习流和结果进行了可视化处理,这一功能对于排错和展示都十分有用。

11. PyTorch

图源:mattolpinski

PyTorch是由Facebook发布的一个开源库,用作Python的公用机器学习框架。与Tensorflow相比,PyTorch的语句更加适用于Python。正因此,学习使用PyTorch也更加容易。

作为一个专注于深度学习的库,PyTorch还具有非常丰富的应用程序接口函数和内置函数来协助数据科学家更加快捷地训练自己的深度学习模型。

音频和图像识别

图源:unsplash

机器学习不仅能够处理数字,同时也能帮助处理音频和图像(视频往往被认为是很多帧图像组合在一起)。因此处理这些多媒体数据时,上述机器学习库远远不够。

12. OpenCV

图源:opencv

OpenCV是最常用的图像和视频识别库。毫不夸张地说,OpenCV能让Python在图像和视频识别领域完全替代Matlab。

OpenCV提供各种应用程序接口,同时它不仅支持Python,还支持Java和Matlab。OpenCV出色的处理能力使其在计算机产业和学术研究中都广受好评。

13. Librosa

图源:github

Librosa是一个非常强大的音频和声音处理Python库。Librosa可以用来从音频段中提取各个部分,例如韵律,节奏以及节拍。

像Laplacia分割这样极度复杂的算法,在使用了Librosa之后只需几行代码就能轻而易举的运用。

网页

图源:unsplash

Python在被广泛运用于数据科学领域前,曾经可是网页开发领域的宠儿。因此也有很多用于网页开发的库。

14. Django

图源:amsterdam

要想使用Python来开发一个网页服务后端,Django一直都是不二之选。Django的设计理念便是,能用几行代码就建立一个网站的高级框架。

Django直接与大多数知名数据库相连,这样使用者就可以省下建立连接和数据模型开发的时间。Django的使用者只需专注于业务逻辑而不需担心受创建、更新、读取和删除(Create,update,retrieve and delete, CURD)的操控,因为Django是一个由数据库驱动的框架。

15. Flask

图源:pythonprogramming

Flask是一个用于Python的轻量级网页开发框架。其最宝贵的特点是能够轻而易举地进行能够满足任何需求的定制化处理。

有很多提供网站UI的知名Python库和Python工具都是使用Flask构建的,例如Plotly Dash和Airflow。这些网站之所以使用Flask,正是由于其轻量级的特点。

诚然,还有许多优秀的Python库应当被提及,但上述这些库就足够你研究好一阵子了。人生苦短,及时Python!

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

数据处理一条龙!这15个Python库不可不知相关推荐

  1. python的最受欢迎的库_2018年最受欢迎的15个Python库

    2018 年最受欢迎的15个顶级 Python 库 作者 | Goutham Veeramachaneni 近日,数据科学网站 KDnuggets 评选出了顶级 Python 库 Top15,领域横跨 ...

  2. 2017,最受欢迎的 15 大 Python 库有哪些?

     2017,最受欢迎的 15 大 Python 库有哪些? 雷锋网按:本文作者为 ActiveWizards 的数据顾问 Igor Bobriakov,雷锋网林立宏与 Raey Raey Li 编 ...

  3. 非常受欢迎的15大Python库

    众所周知,Python语法简捷而清晰,具有丰富和强大的类库,被广泛应用于云计算.Web开发.系统运维.科学运算.以及人工智能等领域.那么Python所包含的库有哪些呢?今天小编就来告诉大家非常受欢迎的 ...

  4. python中的库有哪些餐厅_2017,最受欢迎的 15 大 Python 库有哪些?

    近年来,Python 在数据科学行业扮演着越来越重要的角色.因此,我根据近来的使用体验,在本文中列出了对数据科学家.工程师们最有用的那些库. 由于这些库都开源了,我们从Github上引入了提交数,贡献 ...

  5. 一晚没睡整理出来了15个Python库,好用到哭!

    "黑眼圈"小编挑选了15个最有用的软件包,介绍它们的功能和特点. 1. Dash Dash是比较新的软件包,它是用纯Python构建数据可视化app的理想选择,因此特别适合处理数据 ...

  6. 拯救消防员!AI提前30秒预测火灾闪燃;12个Python项目的全流程:从构思、执行到部署;『系统设计』面试资料大全;高性能图数据处理和嵌入的Rust/Python库 | ShowMeAI资讯日报

    ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...

  7. python功能强大的库_2018 年最受欢迎的15个顶级 Python 库

    原标题:2018 年最受欢迎的15个顶级 Python 库 作者 | Goutham Veeramachaneni 译者 | 陈利鑫 近日,数据科学网站 KDnuggets 评选出了顶级 Python ...

  8. 2018 年最受欢迎的15个顶级 Python 库

    ↑ 点击上方[计算机视觉联盟]关注我们 近日,数据科学网站 KDnuggets 评选出了数据科学.深度学习.机器学习领域最受欢迎的15个python库. 图 1:根据 GitHub star 和贡献评 ...

  9. 2018 年最受欢迎的 Python 库,你都用过吗?

    全世界只有3.14 % 的人关注了 数据与算法之美 前段时间,数据科学网站 KDnuggets 评选出了顶级 Python 库 Top15,领域横跨数据科学.数据可视化.深度学习和机器学习.推荐阅读& ...

最新文章

  1. 赠书 | 2021年中国数字政府发展指数排名出炉!你的家乡名列第几?
  2. HTTP代理如何正确处理Cookie(1)
  3. [导入]不需要任何附加信息的伪凹凸光照计算方法。
  4. 关于 myeclipse 里面没有 add hibernate capabilities 问题解决方法
  5. 坐标计算距离公式 火星坐标系_地图坐标转换 -- 火星坐标与GPS坐标
  6. 宇视网络视频录像机添加摄像机提示离线
  7. 用3DMAX制作《滚动的小球》
  8. RNA甲基化修饰m6A检测热门技术—MeRIP-seq
  9. 计算机软件如何永久删除,【电脑软件教程篇】如何永久彻底清除电脑使用痕迹...
  10. 百度这个写在控制台的消息:2021百度校招
  11. 【九度】题目1419:文献排序
  12. android背光,Android背光亮度调节
  13. PHP对接语音验证码接口代码示例
  14. 空气净化器哪个牌子好,除甲醛空气净化器什么牌子好推荐
  15. 微信小程序------API
  16. [杂谈]系统盘安装在其他电脑上能正常启动吗?
  17. Vue 路由器入门指南
  18. Linux(xUbuntu18.04)安装VMware workstation15.1 解决报错:Before you can runVMware
  19. VMware16以及Ubuntu1.6的下载安装配置详细教程
  20. 有什么人像抠图软件?安利几个一键抠图软件

热门文章

  1. 君澜入驻上饶,打造动物主题休闲度假体验
  2. K8S 快速入门(十六)实战篇:StorageClass(存储类)
  3. Glut 下载及配置
  4. 网络工具Netwox和Wireshark详解
  5. spool模式导出数据库指定表的数据到Excel
  6. 弘辽科技:淘宝直通车智能推广报告如何解?
  7. c语言程序设计P320,《C程序设计》作业内容
  8. 创建OE Order报Pre_Write_Process错误
  9. 【JVM进阶之路】垃圾回收机制和GC算法之三色标记(三)
  10. 嵌入式linux入门学习规划