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

karspb發表於2021-09-11

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

還記得入門Python資料分析時經常會import幾個庫,下面這幾個可謂是入門學習時的四大護法,Python資料處理和視覺化常會用的工具。

e4e68a45b84c8dae79e21958f689577.png

不知道大家有沒有遇到過這樣一個問題,每次重新開啟一個建模流程或者分析過程時,會重新敲一遍import或者將之前的import程式碼copy進去。雖然已經用的滾花爛熟了,但是確耗費不必要的時間。

本篇給大家介紹一個可以偷懶的python庫:pyforest

一個示例

c50400e48c6a92d759f35006e28eda4.png

看到了吧,開頭什麼都沒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,否則不會。

Python學習網,有大量免費的,歡迎大家學習!

本文轉自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2001/viewspace-2834880/,如需轉載,請註明出處,否則將追究法律責任。

相關文章