少数考察表明,数据科学家和数据分析师须要破费 70-80% 的工夫来清理和筹备数据以进行剖析。
对于许多数据工作者来说,数据的清理和筹备也往往是他们工作中最不喜爱的局部,因而他们将另外 20-30% 的工夫花在埋怨上,这尽管是一个玩笑,然而却很好的反馈了数据荡涤在数据分析工作当中的非凡位置.
在平时的工作生存中,数据总是会呈现某些不统一、缺失的输出、不相干的信息、反复的信息或彻头彻尾的谬误等等状况。尤其是当数据来自不同起源时,每个起源都会有本人的一套怪癖、挑战和不规则之处。凌乱的数据是没有用途的,有时候甚至会起到反方向作用,这就是数据科学家破费大部分工夫来了解所有数据的起因
尽管清理和筹备数据既繁琐又辛苦,然而咱们的数据越洁净、越有条理,前面的所有工作都会变得更快、更轻松、更高效。
本文就来分享精选的 15 个最有用的 Python 数据清理库,心愿在数据分析的路上,大家都能越快轻松!
- NumPy
- Pandas
- Matplotlib
- Datacleaner
- Dora
- Seaborn
- Arrow
- Scrubadub
- Tabulate
- Missingno
- Modin
- Ftfy
- SciPy
- Dabl
- Imblearn
NumPy
NumPy 是一个疾速且易于应用的开源科学计算 Python 库,它也是数据迷信生态系统的根底库,因为 Pandas 和 Matplotlib 等许多最风行的 Python 库都是建设在 NumPy 之上的
除了作为其余弱小库的根底之外,NumPy 还具备许多个性,使其成为 Python 数据分析不可或缺的一部分。因为其速度和多功能性,NumPy 的矢量化、索引和播送概念代表了数组计算的事实标准,NumPy 在解决多维数组时尤为杰出。它还提供了一个全面的数值计算工具箱,如线性代数例程、傅立叶变换等
NumPy 能够为很多人做很多事件,其高级语法容许任何背景或教训程度的程序员应用其弱小的数据处理能力。例如,基于 NumPy 生成了有史以来第一张黑洞图像,它还证实了引力波的存在,目前正在各种科学研究中都起着重要的作用
就是这样一个涵盖从静止到太空的所有内容的程序也能够帮忙咱们治理和清理数据,不得不说,Numpy 库太神奇了
Pandas
Pandas 是由 NumPy 提供反对的库,它是 Python 中应用最宽泛的 数据分析和操作库
Pandas 疾速且易于应用,其语法十分人性化,再加上其在操作 DataFrame 方面领有令人难以置信的灵活性,使其成为剖析、操作和清理数据不可或缺的工具
这个弱小的 Python 库不仅能够解决数字数据,还能够解决文本数据和日期数据。它容许咱们退出、合并、连贯或复制 DataFrame,并应用 drop() 函数轻松增加或删除列或行
简而言之,Pandas 联合了速度、易用性和灵便的性能,创立了一个十分弱小的工具,使数据操作和剖析变得疾速而简略
Matplotlib
理解咱们的数据是清理过程的要害局部,清理数据的目标就是使其易于了解。然而在咱们领有丑陋洁净的数据之前,须要先理解凌乱数据中的问题,例如它们的品种和范畴,而后能力对其进行无效的清理,这个操作的很大一部分取决于数据的精确和直观出现的水平
Matplotlib 以其令人印象粗浅的数据可视化而闻名,这使其成为数据清理工作中的贵重工具,它是应用 Python 生成图形、图表和其余 2D 数据可视化的首选工具库
咱们能够在数据清理中应用 Matplotlib,通过生成分布图来帮忙咱们理解数据的不足之处
Datacleaner
Datacleaner 是一个基于 Pandas DataFrame 的第三方库,尽管 Datacleaner 呈现的工夫比拟短并且不如 Pandas 风行,然而,Datacleaner 有一种独特的办法,它联合了一些典型的数据清理性能并使其自动化,这为咱们节俭了贵重的工夫和精力
应用 Datacleaner,咱们能够在逐列的根底上应用众数或中位数轻松替换缺失值,对分类变量进行编码,并删除具备缺失值的行
Dora
Dora 库应用 Scikit-learn、Pandas 和 Matplotlib 进行探索性剖析,或者更具体地说,用于自动化探索性剖析中最不受欢迎的方面。除了解决特征选择、提取和可视化之外,Dora 还优化和自动化数据清理
Dora 将通过许多数据清理性能为咱们节俭贵重的工夫和精力,例如输出缺失值、读取缺失值和缩放不佳的值的数据以及输出变量的缩放值等等
此外,Dora 提供了一个简略的界面,用于在咱们转换数据时保留数据快照,并以其独特的数据版本控制性能与其余 Python 包区别开来
Seaborn
在后面,咱们探讨了可视化数据以揭示数据缺点和不统一的重要性。在解决数据中的问题之前,咱们须要晓得它们是什么以及它们在哪里,此时应用数据可视化就是最好的计划。尽管对于许多 Python 用户来说,Matplotlib 是数据可视化的首选库,然而一些用户发现 Matplotlib 在自定义数据可视化选项方面的局限性也十分大,于是咱们有了 Seaborn。
Seaborn 是一个数据可视化包,它建设在 Matplotlib 之上,可生成有吸引力且信息丰盛的统计图形,同时提供可定制的数据可视化
它也改良了在 Pandas 的 DataFrames 中的运行效率,能够更加严密的与 Pandas 相结合,使探索性剖析和数据清理更加欢快
Arrow
进步数据品质的一个重要方面是在整个 DataFrame 中创立统一性和一致性,对于试图在解决日期和工夫时创立统一性的 Python 开发人员来说,这个过程可能往往会比拟艰难。常常在破费了无数个小时和有数行代码之后,日期和工夫格式化的非凡艰难依然存在
Arrow 是一个 Python 库,专门用于解决这些艰难并创立数据一致性。它的省时性能包含时区转换;主动字符串格式化和解析;反对 pytz、dateutil 对象、ZoneInfo tzinfo;生成范畴、上限、时间跨度和下限,工夫范畴从微秒到数年不等
Arrow 能够辨认时区(与规范 Python 库不同),并且默认为 UTC。它通过更少的代码和更少的输出授予用户更纯熟的日期和工夫操作命令。这意味着咱们能够为咱们的数据带来更大的一致性,同时缩小花在时钟上的工夫
Scrubadub
Scrubadub 是金融和医疗数据科学家的最爱,它是一个 Python 库,专门用于从自在文本中打消个人身份信息 (PII)
这个简略、收费和开源的软件包能够轻松地从咱们的数据中删除敏感的个人信息,从而爱护当事人的隐衷和平安
Scrubadub 目前容许用户革除以下信息的数据:
- 电子邮件地址
- 网址
- 姓名
- Skype 用户名
- 电话号码
- 明码 / 用户名组合
- 社会平安号码
Tabulate
只需调用一个函数,Tabulate 就能够应用咱们的数据创立小型且有吸引力的表格,因为具备数字格局、题目和小数列对齐等许多性能,这些表格具备很高的可读性
这个开源库还容许用户应用其余工具和语言解决表格数据,让用户可能以其余善于的格局(如 HTML、PHP 或 Markdown Extra)输入数据
Missingno
解决缺失值是数据清理的次要方面之一,Missingno 库应运而生。它逐列辨认和可视化 DataFrame 中的缺失值,以便用户能够看到他们数据所处的状态
将问题可视化是解决问题的第一步,而 Missingno 是一个简略易用的库,能够很好的实现这项工作
Modin
正如咱们下面提到的,Pandas 曾经是一个疾速的库了,但 Modin 将 Pandas 带到一个全新的程度。Modin 通过散发数据和计算速度来进步 Pandas 的性能
Modin 用户将受害于与 Pandas 语法的完满符合和不显眼的集成,能够将 Pandas 的速度进步多达 400%!
Ftfy
Ftfy 的诞生是为了一个简略的工作:将蹩脚的 Unicode 和无用的字符转换为相干且可读的文本数据
比方:
“quoteâ€\x9d = "quote"
ü = ü
lt;3 = <3
无需破费大量工夫解决文本数据,应用 Ftfy 就能够疾速了解无意义的内容
SciPy
SciPy 不仅仅是一个库,它还是一个残缺的数据迷信生态系统
此外,SciPy 还提供了许多专用工具,其中之一是 Scikit-learn,完满能够利用其“Preprocessing”包进行数据清理和数据集标准化
Dabl
scikit-learn 我的项目的一名外围工程师开发了 Dabl 作为数据分析库,以简化数据摸索和预处理的过程
Dabl 有一个残缺的流程来检测数据集中的某些数据类型和品质问题,并主动利用适当的预处理程序
它能够解决缺失值,将分类变量转换为数值,它甚至具备内置的可视化选项以促成疾速数据摸索
Imblearn
咱们要介绍的最初一个库是 Imbalanced-learn(缩写为 Imblearn),它依赖于 Scikit-learn 并为面临分类和不均衡类的 Python 用户提供工具反对
应用称为“undersampling”的预处理技术,Imblearn 将梳理完满的数据并删除数据集中的缺失、不统一或其余不规则数据
总结
咱们的数据分析模型取决于咱们输出的数据,并且咱们的数据越洁净,解决、剖析和可视化就越简略,长于利用工具,会使咱们的工作更加轻松愉快
尽管下面总结的工具不可能蕴含所有的数据荡涤工具,然而咱们只有抉择适宜咱们的就能够了,心愿明天的分享可能帮忙到你~
好了,明天分享就到这里,如果大家感觉称心请务必点个 赞 + 关注 反对下