我要和import说再见了!这个Python库能让我偷偷懒
还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。
不知道大家有没有遇到过这样一个问题,每次重新开启一个建模流程或者分析过程时,会重新敲一遍import或者将之前的import代码copy进去。虽然已经用的滚花烂熟了,但是确耗费不必要的时间。
本篇给大家介绍一个可以偷懒的python库:pyforest
一个示例
看到了吧,开头什么都没import,依然可以正常使用常用库。
安装
需要安装Python3.6以上的版本,然后终端运行:
pip install pyforest
使用方法
非常简单!!!
一行代码就可以解决。
from pyforest import *
如果使用Jupyter或IPython,甚至可以跳过此行,因为pyforest会将其自身添加到自动启动中。
而且,完成脚本后,可以通过以下方式导出所有导入语句:
active_imports()
通过这个指令,我们就可以看到脚本所涉及到的全部已经被我省略的库。
好了,你可能会问,如果需要的库不在pyforest中怎么办?
首先,pyforest支持大部分流行的数据科学库,比如pandas,numpy,matplotlib,seaborn,sklearn,tensorflow等等,以及常用的辅助库如os,sys,re,pickle等。
Data Wranglingpd = LazyImport("import pandas as pd")np = LazyImport("import numpy as np")dd = LazyImport("from dask import dataframe as dd")SparkContext = LazyImport("from pyspark import SparkContext")load_workbook = LazyImport("from openpyxl import load_workbook")### Data Visualization and Plottingmpl = LazyImport("import matplotlib as mpl")plt = LazyImport("import matplotlib.pyplot as plt")sns = LazyImport("import seaborn as sns")py = LazyImport("import plotly as py")go = LazyImport("import plotly.graph_objs as go")px = LazyImport("import plotly.express as px")dash = LazyImport("import dash")bokeh = LazyImport("import bokeh")alt = LazyImport("import altair as alt")pydot = LazyImport("import pydot")# statisticsstatistics = LazyImport("import statistics")### Machine Learningsklearn = LazyImport("import sklearn")OneHotEncoder = LazyImport("from sklearn.preprocessing import OneHotEncoder")TSNE = LazyImport("from sklearn.manifold import TSNE")train_test_split = LazyImport("from sklearn.model_selection import train_test_split")svm = LazyImport("from sklearn import svm")GradientBoostingClassifier = LazyImport( "from sklearn.ensemble import GradientBoostingClassifier")GradientBoostingRegressor = LazyImport( "from sklearn.ensemble import GradientBoostingRegressor")RandomForestClassifier = LazyImport( "from sklearn.ensemble import RandomForestClassifier")RandomForestRegressor = LazyImport("from sklearn.ensemble import RandomForestRegressor")TfidfVectorizer = LazyImport( "from sklearn.feature_extraction.text import TfidfVectorizer")# TODO: add all the other most important sklearn objects# TODO: add separate sections within machine learning viz. Classification, Regression, Error Functions, Clustering# Deep Learningtf = LazyImport("import tensorflow as tf")keras = LazyImport("import keras")# NLPnltk = LazyImport("import nltk")gensim = LazyImport("import gensim")spacy = LazyImport("import spacy")re = LazyImport("import re")### Helpersys = LazyImport("import sys")os = LazyImport("import os")re = LazyImport("import re")glob = LazyImport("import glob")Path = LazyImport("from pathlib import Path")pickle = LazyImport("import pickle")dt = LazyImport("import datetime as dt")tqdm = LazyImport("import tqdm")
其次,如果真的没有也没关系,pyforest支持向其中添加库。操作方法也很简单,找到pyforest库的user_imports.py文件,然后添加一个语句就好了,比如像下面这样:
User-specific imports ################################# You can save your own imports in ~/.pyforest/user_imports.py# Please note: imports in ~/.pyforest/user_imports.py take precedence over the# imports above.
所以我们可以根据平时自己的使用习惯添加一套属于自己的万能import,爽歪歪了。
有的同学可能还会问,所有的库添加进入运行速度会不会变慢?
答案是不会,因为只有你后面真正使用了到了pyforest里的包含的库,程序才会真正import,否则不会。
以上就是偷懒神器的介绍和使用方法,有兴趣的伙伴可以试试了!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
我看JAVA 之 Thread & ThreadLocal
我看JAVA 之 Thread & ThreadLocal 注:基于jdk11 Thread Thread是程序里执行的一个线程。JVM允许一个应用程序中可以有多个线程并发执行。 每一个线程都有一个优先级,高优先级的线程优于低优先级的线程先执行。同时,线程还可以被标记为守护线程。线程在被创建的时候优先级默认等同于创建者的优先级。 创建一个Thread通常有如下几种方式: 继承Thread类,重写run()方法 public class ConcreteThread extends Thread(){ public void run() { .... } } new ConcreteThread().start() 实现Runnable接口,重写run()方法 public class ConcreteThread implements Runnable(){ public void run() { .... } } new ConcreteThread().start() 匿名类方式 new Thread(new Runnable() { public void run() {...
- 下一篇
2020面试还搞不懂MyBatis?快看看这27道面试题!(含答案和思维导图)
前言 MyBatis是一个优秀的持久层ORM框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。Mybatis通过xml或注解的方式将要执行的statement配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。 关于MyBatis的知识点总结了个思维导图分享给大家 MyBatis 面试题 1、什么是 Mybatis?2、Mybaits 的优点:3、MyBatis 框架的缺点:4、MyBatis 框架适用场合:5、MyBatis 与 Hibernate 有哪些不同?6、#{}和${}的区别是什么?7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?8、 模糊查询 like 语句该怎么写?9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7