Python 数据科学必知的 25 个 Github 资源库
你是否曾被这样的问题困住过?
某大型公司编写的代码是什么样的? 我怎样才能写出他们那样的代码? 我学到了这些,现在怎么办?
那么,你所有问题的答案就是 Github[1]。
什么是 GitHub?
学习如何编写代码很容易,但学习如何编写更好的代码却很难。Github 可以准确地告诉你需要知道什么。它就像开发者的 “金矿”,“金矿 ”中的 “金” 就是 其他 开发者编写的代码。在 GitHub 的帮助下,你可以学习如何写出更好的代码、好代码的样子,以及成为一名更好的开发者需要遵循的步骤。
根据 Stackoverflow 的数据,Python 是最受欢迎的语言。大多数开发人员都使用 Python。
它是 GitHub 第二受欢迎的语言。 TIOBE 2025 年 01 月份的编程语言排行榜已经公布,官方的标题是:Python 成为 TIOBE 2024 年度编程语言。
在 Python 的软件包库中有超过 151,000+ 个软件包。
据报道,Python 是数据科学领域最常用、最好用的工具之一。
仓库
本文包含的大多数软件仓库都基于数据科学和机器学习。我们分为五个部分展开道来。
1. 学习资料
2. 书籍
3. 开源项目
4. 面试资料
5. 框架、模块与工具
学习资料
1. The Algorithms — Python[2]
资源库几乎包含了你所需要的所有算法。你甚至可以使用 pip install algorithms 将资源库安装为一个软件包。
使用资源库软件包进行合并排序的示例。
from algorithms.sort import merge_sort
if __name__ == "__main__":
my_list = [1, 8, 3, 5, 6]
my_list = merge_sort(my_list)
print(my_list)
------------------------------------------------
[1, 3, 5, 6, 8]
该库不仅限于算法。它还包含矩阵、图形等的不同运算。
Stats : (195k+ ⭐) (45.9k+ Forked)
2. vinta/awesome-python[3]
超赞的 Python 框架、库、软件和资源的精选列表。
资源库的内容不言自明,但如果你觉得难以理解,他们有一个很棒的图形用户界面 website[4].
Stats : (227k+ ⭐) (25k+ Forked)
3. jerry-git[5]/learn-python3[6]
该仓库是学习 python 的 Jupyter 笔记本集。最适合想要动手解决问题的 Python 新手。
每个笔记本都包含一些理论、代码和编码练习。
Stats : (6.5k+ ⭐) (1.8k+ Forked)
4.learn-python[7]
学习 Python 的乐园和小抄。按主题划分的 Python 脚本集,包含附有解释的代码示例。
这是另一个按主题学习 Python 的优秀资源库。
Stats : (16.5k+ ⭐) (2.7k+ Forked)
5. 100-Days-Of-ML-Code[8]
这个资源库最适合所有数据科学学习者。它共有 100 天的代码,包含不同的主题和算法。
该资源库中的内容通俗易懂,不言自明。
统计 : (45.7k+ ⭐) (10.7k+ Forked)
书籍
6. Hitchhiker’s Guide to Python[9]
一本关于 Python 安装、配置和日常使用的最佳实践手册。
它包括 Pip、numpy、scipy、statpy、pyplot、matplotlib、各种网络框架的服务器配置和工具、Virtualenv 以及更多主题。
Stats : (28.5k+ ⭐) (5.8k+ Forked)
7. Cosmic Python[10]
一本关于管理复杂性的 Pythonic 应用程序架构模式的书。
Stats : (3.4k+ ⭐) (500+ Forked)
8. Byte of Python[11]
“Byte of Python" 是一本关于使用 Python 语言编程的免费书籍。它为编程初学者提供了教程。如果你对计算机的了解仅限于如何保存文本文件,那么这本书就是你的最佳选择。
Stats : (2.3k+ ⭐) (1.1k+ Forked)
9.Python Machine Learning[12]
它是经典 Python 机器学习书籍的代码库。它包含每一章的代码。
Stats : (4.6k+ ⭐) (2.2k+ Forked)
开源项目
10.rebound[13]
一个命令行工具,当出现异常时,它能立即获取 Stack Overflow 的结果。只需在运行程序时使用 rebound 即可。
Stats : (4.1k+ ⭐) (380+ Forked)
11. openai/gym[14]
这是一个用于开发和比较强化学习算法的开源工具包。它兼容任何数值计算库,如 TensorFlow 或 Theano。
以下是其网站上的文档[15],也可参见常见问题[16]了解相关信息。
Stats : (35k+ ⭐) (8.6k+ Forked)
12. openai/openai-python[17]
OpenAI Python 库为从任何 Python 3.8+ 应用程序访问 OpenAI REST API 提供了便利。该库包含所有请求参数和响应字段的类型定义,并提供由 httpx[18] 支持的同步和异步客户端。
import os
from openai import OpenAIclient = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Say this is a test",
}
],
model="gpt-4o",
)
Stats : (23.4k+ ⭐) (3.3k+ Forked)
13.DeepFaceLab[19]
DeepFaceLab 是制作深度伪造视频的领先软件。互联网上 95% 以上的深度伪造视频都是用 Deep faceLab 制作的。
在 deepfakes 的帮助下,你可以改变面部、去老化面部、更换头部、处理嘴唇等。
Stats : (16.5k+ ⭐) (50+ Forked)
14.face_recognition[20]
构建人脸识别应用程序的最佳库。它是适用于 Python 和命令行的最简单的人脸识别 API 之一。
人脸识别库会为检测到的每张人脸生成 128 个数字指纹。随后,这些指纹会被编码成一些矢量编码,这些矢量编码可用于解码指纹和比较指纹,从而获取人的标签(姓名)。
Stats : (53.7k+ ⭐) (13.5k+ Forked)
15. You Get[21]
这是一个很小的命令行工具,用于从网上下载媒体内容(视频、音频、图片)。
pip install you-get
Stats : (54.1k+ ⭐) (9.7k+ Forked)
面试资料
16. interactive-coding-challenges[22]
120+ 交互式 Python 编码面试挑战(算法和数据结构)。包括 Anki 闪存卡。
它包含与数组、链表、图、递归等相关的编程问题。
Stats : (29.6k+ ⭐) (4.5k+ Forked)
17.pythoninterview-questions[23]
包含 300 个 Python 面试问题及解决方案的列表。它还包含许多编程问题的解决方案,如哈希图。
Stats : (1.5k+ ⭐) (430+ Forked)
18.Python-programming-exercises[24]
100+ 不同级别的 Python 高难度编程练习。
Stats : (27k+ ⭐) (6.8k+ Forked)
19. coding-problems[25]
该资源库包含各种编码/算法问题的解决方案,以及许多学习算法和数据结构的有用资源。
它包含数组、链接列表、树、散列 DS、动态编程、字符串、数学等方面的问题和解决方案。
Stats : (3.3k+ ⭐) (600+ Forked)
框架、模块和工具
下面提到的软件包可以帮助你了解大公司开发的大型项目是如何编写代码的。通过浏览软件仓库中的代码,你可以轻松提高自己的编码技能。
20. tensorflow[26]
Tensorflow 是谷歌官方的端到端机器学习开源平台。它拥有一个全面、灵活的工具和库生态系统,为开发人员提供了轻松构建和部署 ML 应用程序的能力。
它提供了一个稳定的 python 版本。使用 pip 可以轻松安装。
Stats : (187k+ ⭐) (75k+ Forked)
21. Dash[27] by Plotly[28]
适用于 Python、R、Julia 和 Jupyter 的 Python 分析型 Web 应用程序框架。无需 JavaScript。
它是用于构建 ML 和数据科学应用程序的最值得信赖和下载最多的 Python 软件包。
它构建于 plotly.js 之上,而 plotly.js 也是一个出色的数据可视化软件包。
Stats : (21.1k+ ⭐) (2.1k+ Forked)
22. streamlit[29]
Streamlit 提供用 Python 构建数据应用程序的最快方法。Streamlit 可让你在几分钟内将数据脚本转化为可共享的网络应用程序,而不是几周。
它全部采用 Python,开源且免费!一旦你创建了应用程序,你就可以使用他们的免费共享平台[30]来部署、管理并与全世界共享你的应用程序。
统计 : (36.1k+ ⭐) (3.1k+ Forked)
23. scikit-learn[31]
scikit-learn 是建立在 SciPy 基础上的机器学习 Python 模块,根据 3 条款 BSD 许可发布。
它是执行机器学习任务最常用、最著名的模块之一。它预置了多种算法和数据分析概念。
Stats : (60.5k+ ⭐) (25.5k+ Forked)
24. seaborn[32]
Seaborn 是一个基于 matplotlib 库的 Python 统计数据可视化库。Seaborn 提供多种可视化模式和绘图。它使用简单的语法和漂亮的可视化方式,如方框图、计数图、小提琴图、直方图等。
Stats : (12.7k+ ⭐) (1.9k+ Forked)
25. numpy[33]
NumPy 是使用 Python 进行科学计算所需的基本软件包。
它是 Numerical Python 的缩写,是一个用于各种科学计算的 Python 库。
它由许多多维数组和一系列处理它们的例程组成。它通过添加大量高级数学函数集合,增加了对矩阵和大型多维数组的额外支持。
Stats : (28.2k+ ⭐) (10.2k+ Forked)
资料库
1.Project-Based Learning[34]
该资源库包含不同编程语言的不同教程,如 Python、go、PHP、Java 等共计 20 种编程语言。该资源库的主要目的是专注于基于项目的学习。他们的 Python 部分包含大量的教程,用于构建从网络刮擦程序、机器人和网络应用程序到构建数据科学、机器学习和深度学习解决方案等一系列项目。
Stats : (207k+ ⭐) (27k+ Forked)
2. public-apis[35]
用于软件和网络开发的免费 API 的集合列表。
Stats : (320k+ ⭐) (34k+ Forked)
3. free-programming-books[36]
它包含一个免费编程学习书籍列表。它拥有超过 1.5+ 位贡献者和 10,000 多本 pdf 免费书籍。它支持中文、荷兰语、俄语、意大利语等多种语言。
Stats : (341k+ ⭐) (160k+ Forked)
参考资料
Github: http://github.com/
[2]The Algorithms — Python: https://github.com/TheAlgorithms/Python
[3]vinta/awesome-python: https://github.com/vinta/awesome-python
[4]website: https://awesome-python.com/
[5]jerry-git: https://github.com/jerry-git
[6]learn-python3: https://github.com/jerry-git/learn-python3
[7]learn-python: https://github.com/trekhleb/learn-python
[8]100-Days-Of-ML-Code: https://github.com/Avik-Jain/100-Days-Of-ML-Code
[9]Hitchhiker’s Guide to Python: https://github.com/realpython/python-guide
[10]Cosmic Python: https://github.com/cosmicpython/book
[11]Byte of Python: https://github.com/swaroopch/byte-of-python
[12]Python Machine Learning: https://github.com/rasbt/python-machine-learning-book-3rd-edition
[13]rebound: https://github.com/shobrook/rebound
[14]gym: https://github.com/openai/gym
[15]文档: https://gym.openai.com/docs
[16]常见问题: https://github.com/openai/gym/wiki/FAQ
[17]openai-python: https://github.com/openai/openai-python
[18]httpx: https://github.com/encode/httpx
[19]DeepFaceLab: https://github.com/iperov/DeepFaceLab
[20]face_recognition: https://github.com/ageitgey/face_recognition
[21]You Get: https://github.com/soimort/you-get
[22]interactive-coding-challenges: https://github.com/donnemartin/interactive-coding-challenges
[23]pythoninterview-questions: https://github.com/learning-zone/python-interview-questions
[24]Python-programming-exercises: https://github.com/zhiwehu/Python-programming-exercises
[25]coding-problems: https://github.com/MTrajK/coding-problems
[26]tensorflow: https://github.com/tensorflow/tensorflow
[27]Dash: https://github.com/plotly/dash
[28]Plotly: https://github.com/plotly
[29]streamlit: https://github.com/streamlit/streamlit
[30]免费共享平台: https://streamlit.io/sharing
[31]scikit-learn: https://github.com/scikit-learn/scikit-learn
[32]seaborn: https://github.com/mwaskom/seaborn
[33]numpy: https://github.com/numpy/numpy
[34]Project-Based Learning/tuvtran: https://github.com/tuvtran/project-based-learning#python
[35]public-apis: https://github.com/public-apis/public-apis
[36]free-programming-books: https://github.com/EbookFoundation/free-programming-books