在用 Python 或 Juptyer 做數據分析時,我們一般都會在代碼頂部導入很多流行的三方庫,比如 pandas、numpy、matplotlib 等等。但是其實每次導入的庫都是類似的,有沒有更加”偷懶“的實現方式呢?
最近在 Github 上發現了一個第三方庫,就是專門針對這種場景設計的,在這裡推薦給大家。
pyforest
pyforest 是一家德國初創公司開源的,安裝之後只要導入 pyforest,就可以直接在代碼中引用所有主流的數據分析庫。如果你也用 Jupyter 或者 Jupyterlab 的話,可以不需要顯示的導入 pyforest。
你不用擔心在代碼中導入太多實際沒有用到的庫,因為 pyforest 會自動根據你的使用情況,進行導入。如果是沒有用到的庫,是不會引入到代碼中的。
使用示例
在 shell 中使用時,需要顯示的導入 pyforest:
<code>from pyforest import *
/<code>
上面有提到 Jupyter 環境下,我們可以直接開始數據處理操作了:
調試完代碼後,可以通過 <code>active_imports/<code>函數將所有導入的庫的信息導出。
支持哪些庫
據庫作者介紹,pyforest 的目標是支持導入日常工作中用到的所有流行的數據分析庫,例如 pandas、numpy、seaborn、matplotlib,還有 sklearn 中的 OneHotEncoder,以及 os、re、tqdm 等輔助庫。
如果想查看當前所有支持導入的三方庫,可以輸入<code>lazy_imports/<code>函數了解。
假如你日常使用的庫不在上述列表中,那麼你還可以提 PR 或者直接修改 pyforest 中的 <code>_imports.py/<code>進行添加。
只需要先安裝指定的庫,然後按照如下示例進行調整即可:
<code>bokeh = LazyImport("import bokeh")
/<code>
如何安裝
通過 pip 或 conda 均可安裝:
<code>pip install pyforest
conda install pyforest
/<code>
但是該庫要求 Python 版本為 3.6+,主要是因為大量用到了 3.6 之後才支持的 f-string。
項目地址:https://github.com/8080labs/pyforest
閱讀更多 編程派 的文章