当前位置:首页 > 云计算 > 正文内容

Python不用import也能使用常用库了!!!

2022-05-04 03:14:35云计算2

还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。

e4e68a45b84c8dae79e21958f689577.png

不知道大家有没有遇到过这样一个问题,每次重新开启一个建模流程或者分析过程时,会重新敲一遍import或者将之前的import代码copy进去。虽然已经用的滚花烂熟了,但是确耗费不必要的时间。

本篇给大家介绍一个可以偷懒的python库:pyforest

一个示例

c50400e48c6a92d759f35006e28eda4.png

看到了吧,开头什么都没import,依然可以正常使用常用库。

安装

需要安装Python3.6以上的版本,然后终端运行:

pipinstallpyforest

使用方法

非常简单!!!

一行代码就可以解决。

frompyforestimport*

如果使用Jupyter或IPython,甚至可以跳过此行,因为pyforest会将其自身添加到自动启动中。

而且,完成脚本后,可以通过以下方式导出所有导入语句:

active_imports()

通过这个指令,我们就可以看到脚本所涉及到的全部已经被我省略的库。

好了,你可能会问,如果需要的库不在pyforest中怎么办?

首先,pyforest支持大部分流行的数据科学库,比如pandas,numpy,matplotlib,seaborn,sklearn,tensorflow等等,以及常用的辅助库如os,sys,re,pickle等。

###DataWranglingpd=LazyImport("importpandasaspd")np=LazyImport("importnumpyasnp")dd=LazyImport
("fromdaskimportdataframeasdd")SparkContext=LazyImport("frompysparkimportSparkContext")load_workbook=
LazyImport("fromopenpyxlimportload_workbook")###DataVisualizationandPlottingmpl=LazyImport("import
matplotlibasmpl")plt=LazyImport("importmatplotlib.pyplotasplt")sns=LazyImport("importseabornassns")py
=LazyImport("importplotlyaspy")go=LazyImport("importplotly.graph_objsasgo")px=LazyImport("importplotly.
expressaspx")dash=LazyImport("importdash")bokeh=LazyImport("importbokeh")alt=LazyImport("importaltairas
alt")pydot=LazyImport("importpydot")#statisticsstatistics=LazyImport("importstatistics")###Machine
Learningsklearn=LazyImport("importsklearn")OneHotEncoder=LazyImport("fromsklearn.preprocessingimport
OneHotEncoder")TSNE=LazyImport("fromsklearn.manifoldimportTSNE")train_test_split=LazyImport("from
sklearn.model_selectionimporttrain_test_split")svm=LazyImport("fromsklearnimportsvm")
GradientBoostingClassifier=LazyImport("fromsklearn.ensembleimportGradientBoostingClassifier")
GradientBoostingRegressor=LazyImport("fromsklearn.ensembleimportGradientBoostingRegressor")
RandomForestClassifier=LazyImport("fromsklearn.ensembleimportRandomForestClassifier")
RandomForestRegressor=LazyImport("fromsklearn.ensembleimportRandomForestRegressor")
TfidfVectorizer=LazyImport("fromsklearn.feature_extraction.textimportTfidfVectorizer")#TODO:
addalltheothermostimportantsklearnobjects#TODO:addseparatesectionswithinmachinelearningviz.
Classification,Regression,ErrorFunctions,Clustering#DeepLearningtf=LazyImport("importtensorflowastf")
keras=LazyImport("importkeras")#NLPnltk=LazyImport("importnltk")gensim=LazyImport("importgensim")
spacy=LazyImport("importspacy")re=LazyImport("importre")###Helpersys=LazyImport("importsys")
os=LazyImport("importos")re=LazyImport("importre")glob=LazyImport("importglob")Path=LazyImport
("frompathlibimportPath")pickle=LazyImport("importpickle")dt=LazyImport("importdatetimeasdt")tqdm
=LazyImport("importtqdm")

其次,如果真的没有也没关系,pyforest支持向其中添加库。操作方法也很简单,找到pyforest库的user_imports.py文件,然后添加一个语句就好了,比如像下面这样:

################################User-specificimports#################################
Youcansaveyourownimportsin~/.pyforest/user_imports.py#Pleasenote:importsin~/.pyforest/user_imports.py
takeprecedenceoverthe#importsabove.

所以我们可以根据平时自己的使用习惯添加一套属于自己的万能import,爽歪歪了。

有的同学可能还会问,所有的库添加进入运行速度会不会变慢?

答案是不会,因为只有你后面真正使用了到了pyforest里的包含的库,程序才会真正import,否则不会。

Python学习网,有大量免费的Python视频教程,欢迎大家学习!

本文转自:https://www.jianshu.com/p/df09bb80a49c

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/10247.html

标签: Python