我们研究数据科学的基本和高级 Python 库。了解如何使用 Python 获取、处理、建模和可视化数据。

Python 生态系统为数据科学家提供了广泛的工具。对于新手来说,区分基本数据科学工具和“必备”工具可能具有挑战性。在本文中,我将指导您了解最流行的数据科学 Python 库。

用于获取数据的 Python 库

数据科学始于数据。要使用 Python 进行数据分析或建模,您需要先导入数据。数据可以以不同的格式存储,但幸运的是,Python 社区已经开发了许多用于获取输入数据的软件包。让我们看看哪些 Python 库是最受欢迎的数据导入和准备工具。

源文件

CSV(逗号分隔值)是一种用于存储表格数据以及导入和导出数据的常见格式。为了 处理 CSV 文件 ,Python 有一个内置的 csv 模块。例如,如果您需要从 CSV 文件读取数据,则可以使用该 csv.reader() 函数,该函数基本上遍历 CSV 文件的行。如果您想将数据导出为 CSV 格式,该 csv.writer() 函数可以处理此问题。

有一个专门的课程,名为 如何使用 Python 读取和写入 CSV 文件 ,您可以在其中练习使用该 csv 模块。

json

JSON,即 JavaScript 对象表示法,是一种用于存储和交换文本数据的标准格式。尽管 JSON 的灵感来自 JavaScript 编程语言的一个子集,但它与语言无关 - 您无需了解 JavaScript 即可使用 JSON 文件。

为了对 JSON 数据进行编码和解码 ,Python 有一个名为 json 的内置模块。导入该 json 模块后,您将能够使用该 json.load() 方法读取 JSON 文档或使用该方法将数据转换为 JSON 文件 json.dump()

如何使用 Python 读取和写入 JSON 文件 课程中 ,您将获得 35 个交互式练习来练习如何使用 Python 处理 JSON 数据。

开放的PYXL

如果您的数据主要存储在 Excel 中,您会发现 openpyxl 库非常有用。它诞生于 读取和写入 Excel 2010 文档 。该库支持 xlsx、xlsm、xltx 和 xltm 文件。与上述软件包不同,openpyxl 不是内置在 Python 中的;您需要先安装它才能使用它。

该库允许您读取 Excel 电子表格,从特定工作表导入特定数据,将数据附加到现有电子表格,以及使用公式、图像和图表创建新的电子表格。

查看交互式课程 如何使用 Python 读取和写入 Excel 文件, 以练习使用 Python 与 Excel 工作簿交互。

刮痧

如果你想要使用的数据在网络上,Python 有几个包可以快速简单地获取它。Scrapy 是一个流行的开源库,用于 抓取网站并提取结构化数据 .

例如,您可以使用 Scrapy 从 Twitter 抓取 特定帐户或指定主题标签的推文。结果可能包含推文本身以外的大量信息;您可能会得到一个包含用户名、推文时间和文本、点赞数、转发数和回复数等的表格。除了网页抓取之外,Scrapy 还可用于使用 API 提取数据。

它的速度和灵活性使 Scrapy 成为提取结构化数据的绝佳工具,这些数据可以进一步处理并用于各种数据科学项目。

美丽汤

Beautiful Soup 是另一个流行的从网络获取数据的库。它被创建用于 从 HTML 和 XML 文件 (包括语法和结构无效的文件)中提取有用信息。这个 Python 库的不寻常名称指的是这样一个事实:这些标记不清的页面通常被称为“标签汤”

当您通过 Beautiful Soup 运行 HTML 文档时,您会得到一个 BeautifulSoup 对象,该对象将文档表示为嵌套数据结构。然后,您可以轻松浏览该数据结构以获取所需内容,例如页面的文本、链接 URL、特定标题等。

Beautiful Soup 库的灵活性非常出色。如果您需要处理网络数据,请查看它。

用于处理和建模数据的 Python 库

获取数据后,您需要清理并准备数据以进行分析和建模。让我们回顾一下帮助数据科学家准备数据以及构建和训练机器学习模型的 Python 库。

熊猫

对于使用 Python 表格数据的人来说,pandas 是数据分析和操作的首选。它的主要功能之一是数据框,这是 一种专用于二维数据的数据结构 。数据框对象有行和列,就像 Excel 中的表格一样。

Pandas 库拥有大量用于数据清理、操作、分析和可视化的工具。使用 Pandas,您可以:

  • 添加、删除和更新数据框列。
  • 处理缺失值。
  • 索引、重命名、排序和合并数据框。
  • 绘制数据分布等

如果您想开始使用 Python 中的表格数据,请查看我们的“ 数据科学 Python 简介” 课程。它包含 141 个交互式练习,可让您使用 pandas 库练习简单的数据分析和数据操作。

NumPy

NumPy 是用于数据科学的基础 Python 库。它旨在 对 n 维数组执行数值运算 。数组存储相同数据类型的值。NumPy 对数组进行矢量化可显著提高性能并加快计算操作的速度。

使用 NumPy,您可以执行基本和高级数组操作(例如,添加、乘以、切片、重塑、索引),生成随机数,以及执行线性代数例程、傅里叶变换等。

科学

科学计算 的基础库 。它基于 NumPy 构建,并利用了该库处理数组的许多优势。

使用 SciPy,您可以执行科学编程任务,例如微积分、常微分方程、数值积分、插值、优化、线性代数和统计计算。

scikit-learn

scikit-learn 是用于机器学习的基本 Python 库,它 专注于在 清理和准备数据(使用 NumPy 和 pandas 等库)后对其进行建模。这是一种非常有效的预测数据分析工具。此外,它对初学者友好,让每个人都可以使用 Python 进行机器学习。

只需几行代码,scikit-learn 便可让您构建和训练机器学习模型,用于回归、分类、聚类、降维等。它支持支持向量机 (SVM)、随机森林、k-means、梯度提升等算法。

火炬

PyTorch 是 Facebook 人工智能研究实验室构建的开源 深度学习框架 ,旨在将先进的神经网络和前沿研究理念应用于工业界和学术界。

与 scikit-learn 一样,PyTorch 专注于数据建模。但是,它适用于主要使用深度神经网络的高级用户。当你需要一个快速、高效、可扩展且可以在分布式环境中工作的可用于生产的机器学习模型时,PyTorch 是一个很好的工具。

TensorFlow

开发和训练机器学习模型 的开源库 。TensorFlow 由 Google Brain 团队构建,是 PyTorch 在深度学习应用程序开发方面的主要竞争对手。

TensorFlow 和 PyTorch 过去存在一些重大差异,但现在它们相互吸收了许多优点。它们都是构建深度学习模型的出色框架。当您听说用于对象检测、面部识别、语言生成或聊天机器人的突破性神经网络架构时,它们很可能是使用 PyTorch 或 Tensorflow 库编写的。

用于可视化数据的 Python 库

除了数据分析和建模之外,Python 还是可视化数据的绝佳工具。以下是一些最流行的 Python 库,它们可以帮助您创建有意义、信息丰富、交互性强且吸引人的数据可视化。

matplotlib

这是 用 Python 生成数据可视化的标准库 。它支持构建基本的二维图形,如线图、直方图、散点图、条形图和饼图,以及更复杂的动画和交互式可视化。

matplotlib 库在格式化和样式图表方面也很灵活;您可以选择如何显示标签、网格、图例等。但是,matplotlib 的一个主要缺点是它要求数据科学家编写大量代码来创建复杂且视觉上吸引人的图表。

对于那些愿意学习使用 matplotlib 进行数据可视化的人,我建议从我们的两部分教程开始,该教程涵盖了 线图、直方图 、 条形图、散点图、堆叠图和饼图 。如果你正在处理时间序列数据,请查看本 指南,了解如何使用 Python 对其进行可视化 .

“数据科学 Python 简介” 也介绍了 matplotlib ,您可以在其中练习构建线图、直方图和其他绘图类型。

西博恩

尽管它是基于 matplotlib 构建的,但 seaborn 库具有 高级界面 ,使用户只需几行代码(甚至一行代码)即可绘制出有吸引力且信息丰富的统计图表!其简洁的语法和高级功能使它成为我最喜欢的可视化工具。

得益于 丰富的可视化集合和一组内置主题 ,即使您是数据可视化编码的新手,也可以创建专业的图表。利用 seaborn 的广泛功能来创建热图、小提琴图、联合图、多图网格等。

Scatterplot matrix

散点图矩阵示例( 来源

散景

Bokeh 是一款出色的工具,可用于 在浏览器内创建交互式可视化效果 。与 seaborn 一样,它允许您使用简单的命令构建复杂的图表。但是,它的主要重点是交互性。

使用 Bokeh,您可以链接图表、在鼠标悬停在特定数据点上时显示相关数据、嵌入不同的小部件等。其广泛的交互能力使 Bokeh 成为构建仪表板、网络图和其他复杂可视化的完美工具。

情节

Plotly 是另一个 基于浏览器的可视化库 。它提供了许多有用的开箱即用的图形,包括:

  • 基本图表(例如散点图、折线图、条形图、饼图、气泡图)
  • 统计图(例如误差线、箱线图、直方图)。
  • 科学图表(例如轮廓图、热图)。
  • 财务图表(例如时间序列和蜡烛图)。
  • 地图(例如,在地理地图上添加线条、填充区域、气泡和热图)。
  • 3D 图(例如散点图、表面图)。

如果您想构建交互式和出版质量的图表,请考虑使用 Plotly。

Mapbox density heatmap

使用 Plotly 绘制的 mapbox 密度热图示例( 来源

了解有关 Python 数据科学库的更多信息

现在你已经了解了可用于数据科学的 Python 库,不要对它们感到陌​​生!要掌握数据科学技能,你需要大量练习。我建议从互动课程开始,其中将 基本概念的解释与编码挑战相结合 .

我们的 “数据科学 Python 入门” 课程非常适合想要学习如何使用 Python 进行简单数据分析的初学者。它教你如何使用表格数据并使用几行代码创建基本图表。

对于想要扩展知识的数据爱好者, 开发了 Python for Data Science 迷你课程。它由五门课程组成,涵盖导入和导出不同格式的数据、使用 Python 处理字符串以及数据分析和可视化的基础知识。这个课程是轻松介绍数据科学世界的绝佳选择。

感谢阅读,祝您学习愉快!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部