python数据挖掘常用包(数据分析常用的python包)

Python可以说是最容易入门的编程语言。借助numpy、scipy等基础包,Python可以说是目前数据处理和机器学习的最佳语言。在大老板和热心贡献者的帮助下,Python有一个庞大的社区来支持技术开发,并且开发了两个不同的Python包来帮助数据工作者。
在本文中,我们将介绍一些独特且易于使用的Python包,它们可以在许多方面帮助您构建数据工作流。
1.knockKnockknock是一个简单的Python包,它会在机器学习模型的训练结束或崩溃时通知你。我们可以通过各种渠道获得通知,比如电子邮件、Slack、微软团队等。
为了安装这个包,我们使用下面的代码。
安装knock knock例如,我们可以使用下面的代码将机器学习建模的训练状态通知到指定的邮箱。
from knock knock import email _ sender from sk learn . linear _ model import linear regression import numpy as NP @ email _ sender(recipient _ email=[‘ ‘,’ ‘],sender _ email=’ ‘)def train _ linear _ model(your _ nicest _ parameters): x=NP . array([[1,1],[1,2],[2,2],[2,3]])y=np.dot(x,np.array([1,2])3 regression=linear regression()。fit (x,y) returnregression.score (x,y)以便在函数出现问题或完成时通知您。
2.tqdm当你需要迭代或者循环的时候,如果你需要显示进度条,那么tqdm就是你需要的。这个包将在你的笔记本或命令提示符中提供一个简单的进度条。
让我们从安装包开始。
Piptqdm然后可以使用下面的代码在循环过程中显示进度条。
从TQDM导入TQDMQ=0F或者TQDM中的I(range(1000000))3360 q=I 1像上面的gifg,可以在笔记本上显示一个很好的进度条。当有一个复杂的迭代,并且您想要跟踪进展时,它会非常有用。
3.熊猫-日志熊猫-日志日志可以提供熊猫基本操作的反馈,比如。查询,下降,合并等。它基于R的Tidyverse,可以用来理解所有的数据分析步骤。
安装包
安装pip pandas-log后,看一下下面的例子。
将pandas作为pd导入numpy作为npimport pandas_logdf=pd。DataFrame({‘name’: [‘Alfred ‘,’ Batman ‘,’ Catwoman’],’ toy’: [np.nan,’ Batmobile ‘,Bull Whip’],’ Born’ 3360 [pd.nat,pd.timestamp (‘1940-04-25 ‘),pd.nat]})然后我们试着用下面的代码做一个简单的熊猫操作记录。
with pandas _ log . enable(): RES=(df . drop(‘ born ‘,axis=1)。groupby (‘name ‘))通过pandas-log,我们可以得到所有的执行信息。
4.emoji顾名思义,Emoji是一个支持Emoji文本解析的Python包。通常,我们很难处理Python中的表情符号,但表情符号包可以帮助我们进行转换。
使用以下代码安装表情包。
Pip表情符号,看下面这段代码:
导入e moji print(e moji . emoji ze(‘ python is : thumbs _ up 3360 ‘))有了这个包,就可以轻松输出表情符号了。
5.TheFuzzTheFuzz使用Levenshtein距离来匹配文本以计算相似度。
安装Fuzz下面的代码描述了如何使用fuzz进行相似性文本匹配。
从fuzz导入fuzz,process #测试两个句子之间的分数fuzz.ratio(‘测试单词’,’测试单词!’TheFuzz还可以同时从多个单词中提取相似度得分。
Choices=[‘Atlanta Falcons ‘,’ New York Jets ‘,’ New York Giants ‘,’ Dallas Cowboys ‘]process . extract(‘ New York Jets ‘,Choices,limit=2)Fuzz适用于任何文本数据相似性检测,这在nlp中非常重要。
6.NumerizerNumerizer可以将书写的数字文本转换成相应的整数或浮点数。
Pip Numerizer然后让我们尝试几个输入进行转换。
如果您使用另一种书写风格,从numerizer导入numerizenumerize (‘fortytwo ‘)也可以工作。
Numerize(‘四十二’)numerize(‘九又四分之三’)如果您输入的表达式不是数字,那么它将被保留:
Numze(‘大概九又四分之三左右’)7、PyAutoGUIPyAutoGUI可以自动控制鼠标和键盘。
安装PyAutoGUI,然后我们可以用下面的代码进行测试。
导入pyautoguipyautogui.move到(10,15)pyautogui . click()pyautogui . double click()pyautogui . press(‘ enter ‘)上面的代码将鼠标移动到某个位置,单击鼠标。在需要重复操作的时候非常有用,比如下载文件或者收集数据。
8.WeightedcalcsWeightedcalcs用于统计计算。使用范围从简单的统计(如加权平均、中位数和标准变化)到加权计数和分布。
“安装加权计算器”使用可用数据计算加权分配。
将seaborn导入为SNS df=SNS.load _ dataset (‘mpg ‘)将加权计算导入为wccalc=wc.calculator (‘mpg ‘),然后我们通过传递数据集和计算预期变量来进行加权计算。
Calc.distribution (df,’ origin’) 9,scikit-post hocskckit-post hocs是一个用于“事后”测试分析的python包,通常用于统计分析中的成对比较。软件包提供了一个简单的scikit-learn API用于分析。
Pip安装scikit-posthocs然后让我们从一个简单的数据集开始,进行ANOVA测试。
将statsmodels.api作为sa import stats models . formula . API作为sfaimport scikit_posthocs作为spdf=sa . datasets . get _ rdata set(‘ iris ‘)。datadf . columns=df . columns . str . replace(‘ . ‘,’ ‘)lm=SFA . ols(‘ sepal width ~ c(species)’,data=df)。fit()ANOVA=sa . stats . ANOVA _ lm(lm)print
物种Posthoc _ ttest (df,val _ col=’ sepalwidth ‘,group _ col=’ species ‘,p _ adjust=’ holm ‘)使用scikit-posthoc,我们简化了后验的成对分析过程,得到了P值。
10.CerberusCerberus是一个用于数据验证的轻量级python包。
install Cerberus Cerberus的基本用法是验证类的结构。
从Cerberus导入验证程序schema={ ‘ name ‘ : { ‘ type ‘ 3360 ‘ string ‘ },’ gender ‘ 3360 { ‘ type ‘ 3360 ‘ string ‘ },’ age ‘ 3360 { ‘ type ‘ 3360 ‘ integer ‘ } } v=
Document={‘name’ 3360′ John Doe ‘,’ gender’ 3360′ male ‘,’ age’ 3360 15} v. Validate (document)如果有匹配,Validator类将输出True。这将确保数据结构是正确的。
11.ppscoreppscore用于计算与目标变量相关的变量的预测能力。此软件包计算可以检测两个变量之间的线性或非线性关系的分数。分数范围从0(无预测能力)到1(完美预测能力)。
Pip安装ppscore使用ppscore包根据目标计算分数。
将seaborn导入为SNS将PPS核心导入为PPS df=SNS . load _ dataset(‘ mpg ‘)PPS . predictors(df,’ mpg ‘)结果排序。排名越低,变量对目标的预测能力越低。
12.MayaMaya用于尽可能容易地解析日期时间数据。
安装Maya,然后我们可以使用以下代码轻松获得当前日期。
Import mayanow=maya.now () print(现在)也可以是明天的日期。
明天=maya.when(“明天”)明天。DateTime () 13,PendulumPendulum是另一个涉及DateTime数据的python包。它用于简化任何日期时间分析过程。
我们可以通过练习做任何事情。
Importpendulum now=pendulum.now(‘欧洲/柏林’)now.in _ timezone(‘亚洲/东京’)now . to _ ISO8601 _ string()now . add(days=2)14、category _ encoders category _ encoders用于对类别数据进行编码。这个包是各种编码方式的集合,我们可以根据自己的需要应用于各种分类数据。
Pipcategory _ encoders可以使用下面的例子来应用转换。
从category _ encoders导入BinaryEncoder导入熊猫作为pdenc=binary encoder(cols=[‘ origin ‘])。fit(df)Numeric _ dataset=enc . transform(df)Numeric _ dataset . head()15、scikit-multi-learning scikit-multi-learning可用于特定于多类分类模型的机器学习模型。该软件包提供了用于训练机器学习模型的API,以预测具有两类以上目标的数据集。
点安装sci工具包-多重学习利用样本数据集进行多标签近邻算法来训练分类器并度量性能指标。
从skmultilearn.dataset导入加载数据集从skmultilearn.adapt导入MLkNNimport sk学习。度量为度量X _ train,y_train,feature_names,label _ names=load _ dataset(‘ emotions ‘,’ train ‘),X_test,y_test,_,_=load_dataset(’emotions ‘,’ test ‘),classifier=mlk nn(k=3)prediction=classifier。fit(X火车,y火车).预测(X _ test)指标。hamming _ loss(y _ test,prediction)16、多重集类似于内置的设置函数,但该包允许相同的字符多次出现。
点安装多重集可以使用下面的代码来使用多重集函数。
从多重集导入多重集1=多重集(“aab”)集117、爵士乐可以在我们的代码出错或等待代码运行时播放音乐。
点安装爵士兔使用以下代码在错误情况下尝试示例音乐。
从爵士兔导入error _ track @ error _ track(‘ curb _ your _ Excellence。MP3 ‘,wait=5)def run(): for num in reversed(range(10)): print(10/num)这个包虽然没什么用,但是它的功能是不是很有趣,哈
18、手算用于简化笔记本中的数学公式过程。它将任何数学函数转换为其方程形式。
点安装手动计算器使用以下代码来测试手摇计算器包。使用% %渲染魔术命令来渲染乳胶。
进口手摇计算器。从数学导入进行渲染sqrt % % rendera=4b=6c=sqrt(3 * a b/7)19、NeatTextNeatText可简化文本清理和预处理过程。它对任何自然语言处理项目和文本机器学习项目数据都很有用。
点安装整洁文本使用下面的代码,生成测试数据
导入整洁文本作为nt mytext=’这是单词示例,但是,我们的网站是’ https://exa emplieele . com ‘docx=nt .文本框架(text=mytext)文本框架用于启动整洁文本类然后可以使用各种函数来查看和清理数据。
docx.describe()使用形容函数,可以显示每个文本统计信息。进一步清理数据,可以使用以下代码。
docx.normalize()20、ComboCombo是一个用于机器学习模型和分数组合的大蟒包。该软件包提供了一个工具箱,允许将各种机器学习模型训练成一个模型。也就是可以对模型进行整合。
点安装组合使用来自sci工具包-学习的乳腺癌数据集和来自sci工具包-学习的各种分类模型来创建机器学习组合。
从sklearn.tree导入决策树分类器从sklearn.linear_model导入物流信息来源从sklearn.ensemble导入GradientBoostingClassifierfrom从sklearn.ensemble导入随机森林分类器从sk学习。邻居分类器从sklearn.model_selection导入训练_测试_分离自从sklearn.datasets导入负荷_乳腺癌_癌症来自从组合。模特。分类器_堆叠导入堆垛从combo.utils.data导入评估_打印接下来,看一下用于预测目标的单个分类器。
#定义数据文件并读取X和yrandom_state=42X,y=load _ breast _ cancer(return _ X _ y=True)X _ train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.4,random_state=random_state)#初始化一组clfs classifier=[决策树分类器(random _ state=random _ state),LogisticRegression(random _ state=random _ state),KNeighborsClassifier(),RandomForestClassifier(random _ state=random使用小型爵士乐队包的堆垛模型。
clf=Stacking(classifiers,n_folds=4,shuffle_data=False,keep_original=True,use_proba=False,random _ state=random _ state)clf . fit(X _ train,Y _ train)Y _ test _ predict=clf . predict(X _ test)evaluate _ print(‘ Stacking | ‘,Y _ test,Y _ test _ predict) 21 .PyAztro你是需要星座数据还是只是好奇今天的运气?可以用PyAztro来获取这些信息!这个包有幸运数字,幸运标志,心情等等。这是我们人工智能算命的基础数据,嗯?
Install Pyaztro使用下面的代码来访问今天的星座信息。
导入pyaztropyaztro。aztro (sign=’ Gemini ‘)。描述22,FakerFaker可用于简化合成数据的生成。许多开发人员使用这个包来创建测试数据。
PipFaker将使用Faker包生成合成数据。
从faker import Fakerfake=Faker()生成名称。
Fake.name()。Faker类的name属性,Faker随机生成数据。
23.FairlearnFairlearn用于评估和减少机器学习模型中的不公平性。该软件包提供了许多查看偏差所需的API。
安装Fairlearn然后可以使用Fairlearn的数据集来查看模型中有多少偏差。
from fairlearn.metrics导入MetricFrame,selection _ rate from fair learn . datasets导入fetch _ adult data=fetch _ adult(as _ frame=True)X=data . datay _ True=(data . target==’ 50K ‘)* 1 sex=X[‘ sex ‘]selection _ rates=metric frame(metrics=selection _ rate,y_true=y_true,y_pred=y_true,Sensitive _ features=sex)FIG=selection _ rates . by _ group . plot . bar(legend=false,rot=0,
24.tiobeindexpytiobeindexpy用于获取TIOBE索引数据。TIOBE index是一个编程排名数据,对于开发者来说非常重要,因为我们不想错过编程界的下一件大事。
Install Tiobeindexpy可以通过下面的代码获得本月20大编程语言的排名。
从Tiobeindexpy导入Tiobeindexpy作为tbdf=tb.top _ 20 () 25。pytrendspytrends使用Google API获取关键词趋势数据。如果你想了解当前的网络趋势或与我们关键词相关的趋势,这个软件包非常有用。这个需要访问谷歌,你就知道了。
Pip安装pytrends假设我想了解与关键词“礼物”相关的当前趋势,
py trends . req import trendreq import pandas as pdpytrend=trend req()keywords=pytrend . suggestions(keyword=’ present gift ‘)df=PD . data frame(keywords)df此软件包将返回与关键字相关的前5个趋势。
26.visionsvisions是一个用于语义数据分析的python包。这个包可以检测数据类型,并推断该列的数据应该是什么。
Pipvisions可以使用下面的代码来检测数据中的列数据类型。这里用的是Seaborn的泰坦尼克号数据集。
将seaborn作为snsfrom visions.functional导入detect_type,infer_typefrom visions.typesets导入CompleteSetdf=SNS . load _ dataset(‘ titanic ‘)typeset=CompleteSet()将所有内容转换为string sprint (detect _ type (df,type set)) 27 .ScheduleSchedule可以为任何代码创建作业调度功能。
例如,我们希望每10秒钟工作一次:
导入计划导入timedef作业():print(‘我正在工作.’)schedule . every(10). seconds . do(job)while true : schedule . run _ pending()time . sleep(1)28、Autocorrectautocorrect是一个用于文本拼写纠正的python包,可以应用于很多语言。用法很简单,对于数据清理过程非常有用。
Pip自动更正可以使用类似下面的代码自动更正。
拼写(‘我不困,也没有我要去的地方。’) 29.funcyfuncy包含精致实用的日常数据分析功能。软件包中的功能太多了,我无法一一展示。如果你感兴趣,请查看他的文档。
这里只显示了一个示例函数,它用于从可迭代变量中选择一个偶数,如下面的代码所示。
从函数导入select,even select (even,{I for I in range (20)}) 30,IceCreamIceCream可以让调试过程变得更简单。该软件包在打印/记录过程中提供更详细的输出。
下面的代码可以用pip安装冰淇淋
从冰淇淋导入IC def some _ function(I): I=4(1 * 2)/10 return i35ic(some _ function(121))也可以用作函数检查器。
def foo(): IC()if some _ function(12): IC()else 3360 IC()foo()非常适合分析。
本文总结了30个在数据工作中有用的独特Python包。大多数软件包都很好用,简单明了,但有些可能功能更多,需要进一步阅读其文档。如果你有兴趣的话,请到pypi网站搜索并查看这个软件包的主页和文档。希望这篇文章对你有帮助。
作者:Cornellius Yudha Wijaya

其他教程

华为ar峰会(华为fusioninsight大数据平台)

2022-9-2 1:23:42

其他教程

微信微信官方账号的封面图片、视频、音频资源怎么下载?不用任何软件!

2022-9-2 1:25:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索