前面提到了Awesome Python,它是一个收集了Python相关资源的GitHub仓库,它包括各种Python库、框架、工具、学习资源等。这个文章就是纯简单记录一下python的这些库;
数据处理与分析
-
PandasGUI:
PandasGUI是一个基于Pandas库的可视化工具,提供了交互式数据分析和处理的界面。它可以帮助用户快速浏览、探索和编辑数据集。
https://github.com/adamerose/pandasgui -
polars:
polars是一个快速的数据处理和分析库,类似于Pandas,但专为大型数据集和并行计算优化。它支持类似SQL的查询操作和列操作。
https://github.com/pola-rs/polars -
PyGWalker:
PyGWalker是一个用于数据预处理和特征工程的Python库。它提供了多种数据处理工具和转换器,帮助用户清洗、变换和准备数据用于机器学习任务。
https://github.com/jhwjhw0123/PyGWalker -
pandas-profiling:
pandas-profiling是一个自动生成数据分析报告的工具,能够为给定的数据集生成详细的统计信息、数据质量检查和可视化。
https://github.com/pandas-profiling/pandas-profiling -
Lux:
Lux是一个用于探索数据的Python库,它通过自动推荐和可视化功能,帮助用户发现数据集中的隐藏模式和关系。
https://github.com/lux-org/lux -
AutoViz:
AutoViz是一个自动化数据可视化工具,能够根据给定的数据集自动生成各种图表和可视化。它简化了数据探索和分析的流程。
https://github.com/AutoViML/AutoViz -
Sweetviz:
Sweetviz是一个用于生成漂亮且详细数据报告的Python库,它提供了全面的统计信息、可视化和对数据集的比较分析。
https://github.com/fbdesignpro/sweetviz -
Bamboolib:
Bamboolib是一个交互式数据分析工具,提供了直观的界面和易于使用的功能,帮助用户快速进行数据探索和操作。
https://github.com/tkrabel/bamboolib -
Spotlight:
Spotlight是一个基于深度学习的时间序列数据分析工具,提供了多种建模和预测方法,用于处理时间序列数据的特征提取和预测任务。
https://github.com/microsoft/spotlight -
Mito:
Mito是一个基于编辑界面的数据预处理库,它提供了可视化的数据清洗和转换功能,帮助用户迅速准备数据用于机器学习和数据分析。
https://github.com/soarsmu/mito -
Dataprep:
Dataprep是一个用于数据预处理和清洗的Python库,提供了多种数据清洗和转换工具,用于处理缺失数据、异常值和重复数据等。
https://github.com/sfu-db/dataprep -
D-Tale:
D-Tale是一个交互式数据分析和可视化工具,能够帮助用户进行数据探索、数据清洗和特征工程。它提供了丰富的交互式界面和功能。
https://github.com/man-group/dtale -
visualpython:
visualpython是一个用于创建交互式3D图形和动画的Python库,它可以帮助用户可视化数据和模拟物理过程。
https://github.com/BruceSherwood/vpython -
asqlcell:
asqlcell是一个在Jupyter Notebook中运行SQL查询的工具,它能够直接在Notebook中执行SQL,并将结果显示为表格。
https://github.com/nbsafety/asqlcell -
missingno:
missingno是一个用于可视化缺失数据的Python库,它可以帮助用户快速发现数据集中的缺失值模式和分布。
https://github.com/ResidentMario/missingno
超参数搜索
-
KerasTuner:
KerasTuner是一个用于优化神经网络超参数的Python库,它可以自动搜索最佳的超参数组合,以提高模型性能。
https://github.com/keras-team/keras-tuner -
Optuna:
Optuna是一个用于自动化超参数优化的Python库,它支持多种优化算法和搜索策略,帮助用户找到最优的超参数配置。
https://github.com/optuna/optuna
机器学习
-
catboost:
catboost是一个梯度提升框架,专为处理类别特征和高维稀疏数据而设计。它具有高性能和准确性,并支持多种机器学习任务。
https://github.com/catboost/catboost
自动化机器学习
-
PyCaret:
PyCaret是一个用于机器学习的Python库,提供了简单易用的界面和自动化的机器学习工作流。它支持多种机器学习任务和模型,并提供了模型比较和调优的功能。
https://github.com/pycaret/pycaret](https://github.com/pycaret/pycaret) -
AutoGluon:
AutoGluon是一个自动化机器学习框架,能够自动选择、训练和优化机器学习模型。它适用于各种机器学习任务,并具有高性能和易用性。
https://github.com/awslabs/autogluon -
LazyPredict:
LazyPredict是一个用于快速建立和比较机器学习模型的Python库,它可以自动化地训练和评估多个模型,并生成简要的结果报告。
https://github.com/shankarpandala/lazypredict -
Hyperopt-sklearn:
Hyperopt-sklearn是一个基于Hyperopt的自动化机器学习库,它可以自动选择和优化机器学习模型的超参数。
https://github.com/hyperopt/hyperopt-sklearn -
FLAML:
FLAML是一个快速和轻量级的自动机器学习库,它可以自动选择和优化机器学习模型的超参数。
https://github.com/microsoft/FLAML -
Scikit-optimize:
Scikit-optimize是一个用于贝叶斯优化的Python库,它提供了多种优化算法和搜索策略,用于寻找最优的超参数配置。
https://github.com/scikit-optimize/scikit-optimize -
Yellowbrick:
Yellowbrick是一个用于机器学习可视化的Python库,它提供了多种图表和工具,帮助用户对模型进行分析和调优。
https://github.com/DistrictDataLabs/yellowbrick -
mljar-supervised:
mljar-supervised是一个自动化机器学习库,能够自动选择、训练和优化机器学习模型,以及提供解释性分析和报告生成。
https://github.com/mljar/mljar-supervised -
explainerdashboard:
explainerdashboard是一个交互式的模型解释工具,可以帮助用户更好地理解和解释机器学习模型的预测结果和特征重要性。
https://github.com/oegedijk/explainerdashboard -
TPOT:
TPOT是一个自动化机器学习工具,使用遗传算法进行模型选择和超参数优化,以生成最佳的机器学习管道。
https://github.com/EpistasisLab/tpot -
AutoKeras:
AutoKeras是一个自动化深度学习库,可以自动选择、训练和优化深度学习模型,适用于图像分类、文本分类和结构化数据等任务。
https://github.com/keras-team/autokeras -
BentoML:
BentoML是一个用于打包、部署和管理机器学习模型的Python库,它提供了容器化和微服务化的功能,支持多种部署方式。
https://github.com/bentoml/BentoML -
feature-engine:
feature-engine是一个用于数据集特征工程的Python库。它提供了一系列用于处理缺失值、离群值、编码分类变量、处理日期时间变量等常见特征工程任务的功能。
https://github.com/solegalli/feature_engine -
EvalML:
EvalML是一个自动化机器学习(AutoML)库,旨在帮助你快速构建和评估机器学习模型。它提供了自动处理数据预处理、特征选择、模型训练和评估等步骤的功能。
https://github.com/alteryx/evalml -
pandas-ta:
pandas-ta是一个基于pandas的技术分析指标库。它提供了各种常见的股票技术指标计算方法,如移动平均线、相对强弱指标(RSI)、布林带等。
https://github.com/twopirllc/pandas-ta
时间序列处理
-
neuralprophet:
neuralprophet是一个用于时间序列预测的神经网络模型库。它基于Facebook Prophet模型,并添加了神经网络结构以提高预测准确性。
https://github.com/ourownstory/neural_prophet -
mlforecast:
mlforecast是一个用于时间序列预测的机器学习库。它提供了多种常见的时间序列预测算法的实现,如ARIMA、指数平滑(Exponential Smoothing)、随机森林等。
https://github.com/Nixtla/mlforecast -
prophet:
prophet是Facebook开发的一个用于时间序列预测的开源库。它采用了一种灵活且易于使用的模型,可以对具有季节性模式和趋势的时间序列进行准确预测。
https://github.com/facebook/prophet
LLM
-
Pandas AI:
Pandas AI是一个用于自动化数据清洗和特征工程的Python库。它结合了pandas和scikit-learn的功能,并提供了自动处理数据质量问题和特征工程任务的功能。
https://github.com/gventuri/pandas-ai -
Scikit-LLM:
Scikit-LLM是一个基于scikit-learn的机器学习库,专注于逻辑回归模型。它提供了一系列用于逻辑回归模型训练、评估和解释的工具。
https://github.com/PGM-Lab/Scikit-LLM -
Code Interpreter:
Code Interpreter是一个用于在Python中解释执行代码的库。它提供了一种交互式的方式来执行代码,并支持对代码中的变量和表达式进行检查和调试。
https://github.com/omnilib/Code-Interpreter -
DemoGPT:
DemoGPT是一个用于生成自然语言文本的GPT模型的演示库。它使用OpenAI的GPT模型,并提供了一个简单的界面来生成与给定文本相关的新文本。
https://github.com/openai/gpt-3.5-turbo -
Chapyter:
Chapyter是一个用于将Jupyter笔记本转换为可执行的Python脚本的库。它可以帮助你将Jupyter笔记本中的代码和文档转化为可独立运行的Python脚本。
https://github.com/gdalle/chapyter -
YOLOPandas:
YOLOPandas是一个用于在pandas数据框中实施目标检测(Object Detection)的库。它结合了YOLO(You Only Look Once)算法和pandas数据处理功能,以便在数据框中进行目标检测任务。
https://github.com/ccurme/yolopandas -
open-interpreter:
open-interpreter是一个用于在Python中解释执行代码的库。它提供了一种交互式的方式来执行代码,并支持对代码中的变量和表达式进行检查和调试。
https://github.com/Luke-zhang-04/open-interpreter -
ChatDev:
ChatDev是一个用于开发自然语言处理(NLP)聊天机器人的库。它提供了一些用于构建和训练聊天机器人模型的工具和功能。
https://github.com/OpenBMB/ChatDev -
Embedchain:
Embedchain是一个用于嵌入式设备上的区块链开发的库。它提供了一些用于在嵌入式设备上实现区块链功能的工具和功能。
https://github.com/Embedchain/embedchain -
lida:
lida是一个用于自动化数据分析和模型选择的库。它提供了一系列用于数据探索、特征工程和模型选择的功能和工具。
https://github.com/ioscesar/lida
可视化
-
Panel:
Panel是一个用于创建交互式仪表盘和可视化应用程序的库。它提供了一组工具和组件,使你能够在Web浏览器中构建和展示数据分析和可视化界面。
https://github.com/holoviz/panel -
plotnine:
plotnine是一个基于ggplot2的Python数据可视化库。它提供了一种类似于R语言中ggplot2包的语法,使你能够使用Python创建漂亮的统计图形。
https://github.com/has2k1/plotnine -
Altair:
Altair是一个基于Vega-Lite的声明式数据可视化库。它提供了一种简单且灵活的方式来创建交互式可视化图形,支持各种图表类型和数据集格式。
https://github.com/altair-viz/altair -
bokeh:
bokeh是一个用于创建交互式可视化图形的库。它提供了一组工具和组件,使你能够在Web浏览器中构建动态和交互式的图形界面。
https://github.com/bokeh/bokeh -
bqplot:
bqplot是一个基于Jupyter和D3.js的交互式数据可视化库。它提供了一组直观且易于使用的图表和可视化组件,使你能够在Jupyter Notebook中创建动态和交互式的图形界面。
https://github.com/bqplot/bqplot -
Kangas:
Kangas是一个用于构建和训练深度学习模型的库。它提供了一组高级的神经网络层和模型组件,以及训练和评估深度学习模型的工具和功能。
https://github.com/pgmmpk/kangas -
Plotly:
Plotly是一个用于创建交互式可视化图形的库。它提供了一组工具和组件,使你能够在Web浏览器中构建动态和交互式的图形界面。
https://github.com/plotly/plotly.py -
d3blocks:
d3blocks是一个用于构建基于图块的可视化应用程序的库。它提供了一组可重用的图块组件,使你能够在Web浏览器中构建各种类型的图形界面。
https://github.com/jtpio/d3blocks -
folium:
folium是一个用于创建交互式地图可视化的库。它结合了Python的数据处理能力和Leaflet.js的地图绘制功能,使你能够在Web浏览器中构建动态和交互式的地图可视化。
https://github.com/python-visualization/folium -
seaborn:
seaborn是一个基于matplotlib的统计数据可视化库。它提供了一组简单且美观的函数和接口,使你能够快速创建各种类型的统计图形。
https://github.com/mwaskom/seaborn -
VisPy:
VisPy是一个用于科学数据可视化的高性能库。它结合了Python的灵活性和OpenGL的图形渲染能力,使你能够创建交互式和高效的科学可视化图形。
https://github.com/vispy/vispy
GUI
-
nicegui:
nicegui是一个用于创建简单和直观界面应用程序的库。它提供了一组易于使用的图形界面组件,使你能够快速构建各种类型的界面应用程序。
https://github.com/krzysztof-jusiak/nicegui -
solara:
solara是一个用于太阳能系统设计和模拟的库。它提供了一组功能和工具,用于评估和优化太阳能电池板和系统的性能。
https://github.com/SolaraHub/solara -
DearPyGUI:
DearPyGUI是一个用于创建图形用户界面(GUI)的库。它提供了一组易于使用的组件和工具,使你能够在Python中构建跨平台的图形用户界面应用程序。
https://github.com/hoffstadt/DearPyGui -
shiny:
shiny是一个用于创建交互式Web应用程序的库。它提供了一组工具和组件,使你能够在R语言中构建动态和交互式的Web应用程序。
https://github.com/rstudio/shiny -
streamlit:
streamlit是一个用于快速创建数据科学应用程序的库。它提供了一组简单且易于使用的API,使你能够基于Python脚本快速搭建交互式的数据科学应用程序。
https://github.com/streamlit/streamlit
数据分析+GPU
-
Xorbits:
Xorbits是一个用于开发量子计算应用程序的库。它提供了一组用于构建和模拟量子算法的工具和功能。目前,该库似乎没有开源地址可用。
https://github.com/xorbitsai/xorbits -
cupy:
cupy是一个用于在GPU上执行数值计算的库。它提供了与NumPy类似的接口,并支持在GPU上加速各种数值计算任务。
https://github.com/cupy/cupy -
cudf:
cudf是一个用于在GPU上进行数据处理和分析的库。它提供了与pandas类似的接口,并利用GPU的并行计算能力加速数据处理任务。
https://github.com/rapidsai/cudf
知识图谱
-
networkx:
networkx是一个用于分析复杂网络的库。它提供了一组工具和算法,用于构建、操作和分析各种类型的网络结构。
https://github.com/networkx/networkx -
pyvis:
pyvis是一个用于创建交互式网络可视化的库。它提供了一组简单且易于使用的接口,使你能够在网络图中展示节点、边缘和属性,并支持交互式操作和导出为HTML。
https://github.com/WestHealth/pyvis
数学
-
sympy:
sympy是一个用于符号计算的库。它提供了一组功能和工具,用于执行代数运算、求解方程、进行微积分和离散数学等数学计算任务。
https://github.com/sympy/sympy -
scipy:
scipy是一个用于科学计算和数据分析的库。它提供了一组功能和工具,用于执行优化、插值、信号处理、线性代数和统计分析等科学计算任务。
https://github.com/scipy/scipy -
latexify:
latexify是一个用于生成Latex数学公式的库。它提供了一组接口和工具,使你能够将Python代码中的数学表达式转化为Latex格式的数学公式。
https://github.com/astanin/python-latexify
python加速
-
Numba:
Numba是一个用于在Python中加速数值计算的库。它提供了一组装饰器和函数转换器,将Python代码转化为高效的机器码,从而加速数值计算任务。
https://github.com/numba/numba
其他
-
Segno:
Segno是一个用于生成二维码的库。它提供了一组接口和工具,使你能够在Python中生成各种类型的二维码,如URL链接、文本信息等。
https://github.com/heuer/segno -
icecream:
icecream是一个用于调试和打印代码中变量和表达式的库。它提供了一种简单且易于使用的调试工具,用于在代码中插入调试输出语句,并打印相关变量和表达式的值。
https://github.com/gruns/icecream -
loguru:
Loguru是一个Python日志记录库,它提供了简单且强大的日志记录功能,可以帮助开发者轻松地在他们的应用程序中实现日志记录。Loguru具有易于使用的API和丰富的特性,比如日志文件自动轮转、异常追踪等。如果你在Python项目中需要进行日志记录,Loguru是一个非常不错的选择。
https://github.com/Delgan/loguru
评论区