青鸟100问

五款必备高效Python数据分析库,你知道几个?
北大青鸟总部

摘要:五款必备高效Python数据分析库,你知道几个?

在大数据时代,数据思维已开始深刻变革各行各业,从我们的电商消费信息、运动轨迹、社交数据、产品使用习惯,到企业的调研、设计、产品、运营、营销,再到交通、金融、生产制造、公共服务。而由于Python在数据获取、数据处理、数据分析、数据挖掘、数据可视化、机器学习、人工智能等方面有着非常多成熟的库以及活跃的社区,构成数据科学领域最为完整且完善的生态。
尤其是在NLP(自然语言处理)项目中,用Python来处理数据也就变得更加广泛了。下面将详细地介绍五款必备的高效Python数据分析库。这会对我们编写高级复杂的程序帮助很大。但不用担心,你不需要有任何技术基础就可上手这些库。
一.Numerizer库,文本数字的分析转换
Numerizer是一个将自然语言中文本数字快速转换为整数型(int)和浮点型(float)数字的Python模块或库。它是一个开源的GitHub项目(https://github.com/jaidevd/numerizer)。特别说明,为了方便演示该库的使用。这里推荐使用Anaconda,它是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,非常适合初学者。
1.Numerizer库的安装
打开Anaconda的终端,输入如下语句进行Numerizer库的安装。
pipinstall numerizer
2.Numerizer库实例演示
安装完成后,我们可以运行Anaconda内置的spyder,并输入以下语句
fromnumerizer import numerize
numerize('fortytwo')
numerize('forty-two')
numerize('fourhundred and sixty two')
numerize('onefifty')
numerize('twelvehundred')
numerize('twentyone thousand four hundred and seventy three')
numerize('onemillion two hundred and fifty thousand and seven')
numerize('onebillion and one')
numerize('nineand three quarters')
numerize('platformnine and three quarters')
程序运行结果如下图所示,可以很清楚地发现,英文文字数字被准备转换成了相应的数字。

二.Missingo库,丢失值可视化分析
在现实世界的数据集中发现丢失值是很普遍的。每次处理数据时,缺失值是必须要考虑的问题。但是手工查看每个变量的缺失值是非常麻烦的一件事情。数据分析之前首先要保证数据集的质量。Missingo就是一个可视化丢失值的库。它提供了一个灵活且易于使用的缺失数据可视化和实用程序的小工具集,使您可以快速直观地总结数据集的完整性。(该库的GitHub地址:https://github.com/ResidentMario/missingno)
1.Missingo库的安装
这里同样是使用Anaconda,打开Anaconda的终端后,输入如下语句进行Missingo库的安装
pipinstall missingno
2. Missingo库实例演示
下面的样例数据使用NYPD Motor VehicleCollisions Dataset 数据集.运行下面语句即可获得数据
pipinstall quilt
quiltinstall ResidentMario/missingno_data
之后,加载数据到内存,输入以下语句
fromquilt.data.ResidentMario import missingno_data
collisions= missingno_data.nyc_collision_factors()
collisions= collisions.replace("nan", np.nan)
在Missingo库中,有几个主要函数以不同方式的可视化展示数据集数据缺失情况。其中,Matrix是使用最多的函数,能快速直观地看到数据集的完整性情况。输入以下语句:
importmissingno as msno
%matplotlibinline
msno.matrix(collisions.sample(250))
程序运行后,矩阵显示的结果如下。图中右边显示的迷你图总结了数据集的总的完整性分布,并标出了完整性最大和最小的点。

特别说明,这里也可以通过figsize指定输出图像大小,例如下面语句:msno.matrix(collisions.sample(250),figsize=(12,5))
此外,msno.bar函数也是一个非常有用的函数,可以简单地展示无效数据的条形图。
msno.bar(collisions.sample(1000))
程序运行后,显示的数据条形图:

三.Faker库,虚拟测试数据生成器
在软件需求、开发、测试过程中,我们可能会遇到需要生成一些测试数据或在分析中使用一些虚拟数据的情况。针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。但由于现在的业务系统数据多种多样,千变万化。在手动制造数据的过程中,可能需要花费大量精力和工作量,此项工作既繁复又容易出错,而且,部分数据的手造工作无法保障:比如UUID类数据、MD5、SHA加密类数据等。
Faker是一个Python库,开源的GITHUB项目(https://github.com/joke2k/faker),主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的快速生成。
1.Faker库的安装
pipinstall faker
2.Faker库实例演示
输入下面语句,引用初始化
fromfaker import Faker
f=Faker(locale='zh_CN')
特别说明,关于初始化参数locale:为生成数据的文化选项,默认为英文(en_US)。如果要生成相对应的中文随机信息(比如:名字,地址,邮编,城市,省份等),需使用zh_CN值。
之后,输入下面语句,将随机生成假的中文名字和地址,非常简单易用。
fori in range(1,100):
 print(f.name()+" "+f.address())
运行结果如下:

四.Emot库,表情符号数据分析
在情感数据分析方面,收集和分析有关表情符号的数据可以提供非常有用的信息。而表情符号是一种小到可以插入到表达情感或想法的文本中的图像。它仅由使用键盘字符(如字母、数字和标点符号)组成。
Emot库也是一个开源Github项目(https://github.com/NeelShah18/emot),可以帮助我们把表情符号emojis和emoticons转换成单词。它有一个很全面的表情符号与相应单词映射的集合。
1.Emot库的安装,
输入以下语句即可自动安装
pipinstall emot
2.Emot库实例演示
输入下面语句
importemot
相关阅读
五款必备高效Python数据分析库,你知道几个?
一文教你如何轻松实战Python时间序列数据挖掘
Python中的迭代器与可迭代对象
2021学习Python5个理由,值得收藏!
python有谁创建吗?Python之父退休后太无聊加入微软
热门推荐