社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

牛逼!这个Python库竟然可以偷懒,和import说再见!

量化金融科技前沿 • 5 年前 • 586 次点击  


作者:xiaoyu,数据爱好者

Python数据科学出品



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



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



看到了吧,开头什么都没import,依然可以正常使用常用库。
安装
需要安装Python3.6以上的版本,然后终端运行:
pip install pyforest
链接:https://github.com/8080labs/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,否则不会。
以上就是偷懒神器的介绍和使用方法,抓紧试试吧。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51531
 
586 次点击