我们可以在数据清理中使用 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 = ❤️
无需花费大量时间处理文本数据,使用 Ftfy 就可以快速理解无意义的内容
SciPy
SciPy 不仅仅是一个库,它还是一个完整的数据科学生态系统
此外,SciPy 还提供了许多专用工具,其中之一是 Scikit-learn,完美可以利用其“Preprocessing”包进行数据清理和数据集标准化
Dabl
scikit-learn 项目的一名核心工程师开发了 Dabl 作为数据分析库,以简化数据探索和预处理的过程
Dabl 有一个完整的流程来检测数据集中的某些数据类型和质量问题,并自动应用适当的预处理程序
它可以处理缺失值,将分类变量转换为数值,它甚至具有内置的可视化选项以促进快速数据探索
Imblearn
我们要介绍的最后一个库是 Imbalanced-learn(缩写为 Imblearn),它依赖于 Scikit-learn 并为面临分类和不平衡类的 Python 用户提供工具支持
使用称为“undersampling”的预处理技术,Imblearn 将梳理完美的数据并删除数据集中的缺失、不一致或其他不规则数据
做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。
别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。
我先来介绍一下这些东西怎么用,文末抱走。
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
(4)200多本电子书
这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。
基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。
(5)Python知识点汇总
知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。
(6)其他资料
还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。
这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!