牛逼!這個Python庫竟然可以偷懶,和import說再見!


作者: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 ps 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,否則不會。

以上就是偷懶神器的介紹和使用方法,抓緊試試吧。


贈送三本當當熱銷書籍

《Halcon機器視覺算法原理與編程實戰》

????掃描二維碼 2 秒 購買書籍

內容介紹:《Halcon機器視覺算法原理與編程實戰》適合需要全面學習機器視覺算法的初學者,希望掌握Halcon進行機器視覺項目開發的程序員,需要了解機器視覺項目開發方法的工業客戶、機器視覺軟件開發項目經理、專業培訓機構的學員,以及對機器視覺算法興趣濃厚的人員閱讀。

????長按上方二維碼 2 秒

回覆「抽獎」參加贈書活動


推薦閱讀

1、SQL語句大全,所有的SQL都在這裏(1.5萬字長文)

2、Windows上評分最高的截圖工具,幫你搞定論文和設計難題

3、PyTorch中文版官方教程來了,附pdf下載

4、神作《統計學習要素》的中文翻譯、代碼實現及其習題解答,附下載

5、400頁《TensorFlow 2.0 深度學習算法實戰》中文版教材免費下載(附隨書代碼+pdf)

6、PDF&PPT下載 | Github 9.9K Star的《神經網絡與深度學習》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章