多个Python包懒得import,那就一包搞定!

使用Python时,有的代码需要依赖多个框架或库者来完成,代码开头需要import多次,比如,

import pandas as pd
from pyspark import SparkContext
from openpyxl import load_workbook
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import LogisticRegression

本次分享一个Python工具pyforest,只需要import pyforest一行代码即可导入所有依赖的python包(机器上已安装过的),


pyforest安装

支持Python 3.6+之后的版本,因为pyforest开发者是py流行的字符串格式化机制f-strings的忠实粉丝。

pip install --upgrade pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple

pyforest使用

以使用seaborn可视化为例,

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
转载请标明来源!转载请标明来源!转载请标明来源!
@Time    :   2023年10月
@Author  :   公众号:pythonic生物人
@Contact :   公众号:pythonic生物人
@Desc    :   Demo for pyforest
'''#第1步:导入依赖包
import pyforest#第2步:设置绘图风格、文本字体
sns.set_theme()
mpl.rcParams['font.family'] = 'Songti SC'#第3步:数据读取
tips = pd.read_csv('./sns_data/tips.csv')#第4步:seaborn绘图
sns.relplot(data=tips,x="消费金额 ($)",y="小费金额 ($)",col="就餐时间",hue="是否吸烟",style="是否吸烟",size="一起就餐人数 (个)")

可以看到仅import pyforest一行代码就一次性导入了seaborn、pandas、matplotlib包,省略了重复使用import语句,即下面这些代码,

import seaborn as sns
import pandas as pd
import matplotlib as mpl

pyforest支持哪些包

pyforest覆盖99%以上主流Python Data Science libraries例如,import pandas as pd,import numpy as np,import seaborn as sns,import matplotlib.pyplot as plt, from sklearn.linear_model import LinearRegression等等。

注意:pyforest中导入的包遵循python社区默认的简称,如pandas>pd、seaborn>sns、matplotlib.pyplot>plt等等。

具体支持哪些包,可通过dir(pyforest)或者https://github.com/8080labs/pyforest/blob/master/src/pyforest/_imports.py查看,详细如下,

### Data Wrangling
pd = 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")open_workbook = LazyImport("from xlrd import open_workbook")wr = LazyImport("import awswrangler as wr")### Data Visualization and Plotting
mpl = 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")### Image processingcv2 = LazyImport("import cv2")
skimage = LazyImport("import skimage")
Image = LazyImport("from PIL import Image")
imutils = LazyImport("import imutils")# statistics
statistics = LazyImport("import statistics")
stats = LazyImport("from scipy import stats")
sm = LazyImport("import statsmodels.api as sm")### Time-Series Forecasting
fbprophet = LazyImport("import fbprophet")
Prophet = LazyImport("from fbprophet import Prophet")
ARIMA = LazyImport("from statsmodels.tsa.arima_model import ARIMA")### Machine Learning
sklearn = LazyImport("import sklearn")LinearRegression = LazyImport("from sklearn.linear_model import LinearRegression")
LogisticRegression = LazyImport("from sklearn.linear_model import LogisticRegression")
Lasso = LazyImport("from sklearn.linear_model import Lasso")
LassoCV = LazyImport("from sklearn.linear_model import LassoCV")
Ridge = LazyImport("from sklearn.linear_model import Ridge")
RidgeCV = LazyImport("from sklearn.linear_model import RidgeCV")
ElasticNet = LazyImport("from sklearn.linear_model import ElasticNet")
ElasticNetCV = LazyImport("from sklearn.linear_model import ElasticNetCV")
PolynomialFeatures = LazyImport("from sklearn.preprocessing import PolynomialFeatures")
StandardScaler = LazyImport("from sklearn.preprocessing import StandardScaler")
MinMaxScaler = LazyImport("from sklearn.preprocessing import MinMaxScaler")
RobustScaler = LazyImport("from sklearn.preprocessing import RobustScaler")OneHotEncoder = LazyImport("from sklearn.preprocessing import OneHotEncoder")
LabelEncoder = LazyImport("from sklearn.preprocessing import LabelEncoder")
TSNE = LazyImport("from sklearn.manifold import TSNE")
PCA = LazyImport("from sklearn.decomposition import PCA")
SimpleImputer = LazyImport("from sklearn.impute import SimpleImputer")
train_test_split = LazyImport("from sklearn.model_selection import train_test_split")
cross_val_score = LazyImport("from sklearn.model_selection import cross_val_score")
GridSearchCV = LazyImport("from sklearn.model_selection import GridSearchCV")
RandomizedSearchCV = LazyImport("from sklearn.model_selection import RandomizedSearchCV")
KFold = LazyImport("from sklearn.model_selection import KFold")
StratifiedKFold = LazyImport("from sklearn.model_selection import StratifiedKFold")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"
)CountVectorizer = LazyImport("from sklearn.feature_extraction.text import CountVectorizer"
)metrics = LazyImport("from sklearn import metrics")sg = LazyImport("from scipy import signal as sg")# Clustering
KMeans = LazyImport ("from sklearn.cluster import KMeans")# Gradient Boosting Decision Tree
xgb = LazyImport("import xgboost as xgb")
lgb = LazyImport("import lightgbm as lgb")# TODO: add all the other most important sklearn objects
# TODO: add separate sections within machine learning viz. Classification, Regression, Error Functions, Clustering# Deep Learning
tf = LazyImport("import tensorflow as tf")
keras = LazyImport("import keras")
torch = LazyImport("import torch")
fastai = LazyImport("import fastai")# NLP
nltk = LazyImport("import nltk")
gensim = LazyImport("import gensim")
spacy = LazyImport("import spacy")
re = LazyImport("import re")
textblob = LazyImport("import textblob")### Helper
sys = 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中导入的包遵循python社区默认的简称,如pandas>pd、seaborn>sns、matplotlib.pyplot>plt等等。

如果想个性化自己的包导入简称,可在~/.pyforest/user_imports.py中添加自己的个性化设置即可,例如,一般是import pandas as pd,想设置为import pandas as pd_test,

在 ~/.pyforest/user_imports.py中添加import pandas as pd_test保存即可。

同样当pyforest不包含自己的包时,也可以以上面同样的方法添加。

进一步学习:https://github.com/8080labs/pyforest


推荐阅读:
  • 10W字《R ggplot2可视化教程1.0》来了!

  • 详解Python列表推导式|迭代器|生成器|匿名函数

  • Jupyter Notebook的16个超棒插件!

  • 临床WGS/WES/Gene Panel/Single gene异同

  • 一图胜千言,超形象图解NumPy教程!

  • 那些神经网络可视化利器

  • R Graphics Cookbook中译教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bootz启动 Linux内核涉及do_bootm_linux 函数

一. bootz启动Linux uboot 启动Linux内核使用bootz命令。当然还有其它的启动命令,例如,bootm命令等等。 本文只分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。具体分析 do_bootm_linux函数执行过程。 本文继上一篇文章,地址…

[netty-websocket-boot-starter] 基于Netty的轻量级、高性能的WebSocket框架

简介 这是一个轻量级、高性能的基于 Netty 的 WebSocket 框架,提升你的 WebSocket 开发体验,为 Spring Boot 带来全新的 WebSocket 功能。 该项目使你可以轻松集成 WebSocket 到你的 Spring Boot 项目中,提供了 Tomcat WebSocket 的简单性&a…

windows flask 多进程高并发

最近在做的一个项目,需要将十几个python函数封装程flask服务供外界调用,每个函数之间没有什么关系,相互独立。虽然感觉不是很难,但因为用的windows系统,遇到的坑比较多,在此一一总结一下。 flask偶尔出现卡…

多线程并发篇---第十二篇

系列文章目录 文章目录 系列文章目录一、说说ThreadLocal原理?二、线程池原理知道吗?以及核心参数三、线程池的拒绝策略有哪些?一、说说ThreadLocal原理? hreadLocal可以理解为线程本地变量,他会在每个线程都创建一个副本,那么在线程之间访问内部 副本变量就行了,做到了…

服务供应商安全管理制度

1、总则 1.1、目的 为了规范XXXXX单位信息系统建设和运行过程中服务商的选择,按照信息安全等级保护要求进行服务商管理,特制定本管理规范。 1.2、范围 本办法适用于XXXXX单位在信息化建设和运行过程中服务商选择的安全管理。 1.3、职责 较小项目由…

燃气管网监测系统,让城市生命线更安全

万宾科技燃气管网监测系统,让城市生命线更安全 城市是现代社会的中心,拥有庞大的人口和各种基础设施,以满足人们的生活需求。城市基础设施包括供热,供水,管廊,河湖,建筑,排水&#x…

JavaScript class和function的区别

待整理: 一 二 Class 组件和 Function 组件是 React 中创建组件的两种主要方式。他们在语法和功能上有一些不同。以下分点是 Class 组件和 Function 组件在不同方面的对比: 1. 语法结构 Class 组件: import React, { Component } from …

php代码优化---本人的例子

直接上货: 1:数据统计 店铺数量、提现金额、收益金额、用户数量 旧: // //店铺// $storey db( store )->whereTime( addtime, yesterday )->count();//昨天// $stored db( store )->whereTime( addtime, d )->count();//今天…

leetcode:210. 课程表 II

课程表 II 提示 中等 889 相关企业 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如,想要学习课程…

【计算机网络】网络编程接口 Socket API 解读(10)

Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。…

linux 服务器类型Apache配置https访问

一:查看服务器类型,下载相应的SSL证书 命令:netstat -anp | grep :80 httpd是Apache超文本传输协议(HTTP)服务器的主程序,所以下载Apache证书 二:将证书解压后复制到服务器上 三个文件:xxx.key xxx_publ…

C //例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

C语言设计 (第四版) 谭浩强 例6.8 例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法1:使用gets函数 #include …

草莓病害图像数据集(YOLO使用,train为655张照片和val为487张照片)

前言:所有图像和标签是一一对应,没有标签缺失 写了两个程序来分别检查train文件夹的图像和val文件夹图像是否有缺失标签,如果有,会直接打印出缺失标签的图像名字。也方便以后用户自己添加自己收集的图像数据后,核对图…

Linux shell编程学习笔记12:布尔运算和逻辑运算

Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们陆续研究了 Linux shell编程 中的 字符串运算、算术运算和关系运算,今天我们来研究 Linux shell编程中的的布尔运算、逻辑运算。 一、…

React实现地图搜索

在现代的Web应用程序中,地图搜索功能对于许多应用来说是必不可少的。无论是为了查找特定位置、规划路线,还是为了展示附近的兴趣点,地图搜索都可以提供给用户很好的交互体验。 在本文中,我们将使用React框架来实现一个简单的地图…

纯文本邮件发送:java

1.打开jdk的conf下的security文件的.security,找到并删除&#xff0c;权限问题建议复制文件修改后替换 jdk.tls.disabledAlgorithmsSSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL 删除后的内容 然…

数据结构 - 4(栈和队列6000字详解)

一&#xff1a;栈 1.1 栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原…

php如何查找地图距离

要在PHP中使用高德地图、百度地图或腾讯地图获取位置信息&#xff0c;您可以使用它们的相应API服务。以下是获取位置信息的一般步骤&#xff1a; 思路: 获取API密钥&#xff1a;首先&#xff0c;您需要注册并获取相应地图服务提供商的API密钥。这将允许您访问他们的API以获取位…

Python学习基础笔记六十九——文本2

二进制&#xff08;字节&#xff09;模式&#xff1a; 文本文件&#xff0c;纯文本文件就是保存文本字符串的文件&#xff0c;跟word还不一样&#xff0c;word是富文本文件。 其实就文件存储的底层来说&#xff0c;不管什么类型的文件&#xff08;文本、视频、图片、word、Ex…

rsync 备份工具(附rsync+inotify 实时同步部署实例)

rsync 备份工具(附rsyncinotify 实时同步部署实例&#xff09; 1、rsync概述1.1关于rsync1.2rsync 的特点1.3工作原理 2、rsync相关命令2.1基本格式和常用选项2.2启动和关闭rsync服务2.3下行同步基本格式2.4上行同步基本格式2.5免交互2.5.1指定密码文件2.5.2rsync-daemon方式2.…