Python不用import也能使用常用库了!!!
还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。
不知道大家有没有遇到过这样一个问题,每次重新开启一个建模流程或者分析过程时,会重新敲一遍import或者将之前的import代码copy进去。虽然已经用的滚花烂熟了,但是确耗费不必要的时间。
本篇给大家介绍一个可以偷懒的python库:pyforest
一个示例
看到了吧,开头什么都没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
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.