吐血整理!绝不能错过的24个Python库("精选必学!24个不容错过的Python库全解析")
原创
1. NumPy - 科学计算的基础库
NumPy 是 Python 中用于科学计算的基础库,提供了有力的多维数组对象和一系列用于数组操作的函数。它是很多其他科学计算库的基础。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
2. Pandas - 数据分析与处理库
Pandas 是一个有力的数据分析库,提供了易于使用的数据结构和数据分析工具,常用于处理表格数据。
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
print(df)
3. Matplotlib - 绘图库
Matplotlib 是一个用于绘制二维图表的库,它提供了丰盈的图表类型和自定义选项。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
plt.show()
4. Scikit-learn - 机器学习库
Scikit-learn 是一个易懂易用的机器学习库,提供了广泛的算法和工具,用于数据挖掘和数据分析。
from sklearn import datasets
iris = datasets.load_iris()
print(iris.feature_names)
5. TensorFlow - 深度学习框架
TensorFlow 是一个开源的深度学习框架,由 Google 开发,拥护多种深度学习算法。
import tensorflow as tf
print(tf.__version__)
6. Keras - 深度学习库
Keras 是一个高级神经网络API,可以运行在 TensorFlow、CNTK 或 Theano 之上,简化了深度学习模型的设计。
from keras.models import Sequential
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
7. Scipy - 科学计算库
Scipy 是一个基于 NumPy 的科学计算库,提供了许多用于优化、线性代数、积分等的模块。
from scipy.optimize import minimize
func = lambda x: x**2
x0 = 1
result = minimize(func, x0)
print(result.x)
8. Statsmodels - 统计模型库
Statsmodels 是一个用于估计和测试统计模型的库,常用于回归分析、时间序列分析等。
import statsmodels.api as sm
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
X = sm.add_constant(x)
model = sm.OLS(y, X).fit()
print(model.summary())
9. BeautifulSoup - HTML 解析库
BeautifulSoup 是一个用于解析 HTML 和 XML 文档的库,可以方便地提取所需数据。
from bs4 import BeautifulSoup
html_doc = "<html><body><h1>Hello, world!</h1></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser')
print(soup.h1.text)
10. Requests - HTTP 请求库
Requests 是一个易懂的 HTTP 请求库,可以方便地发送各种 HTTP 请求。
import requests
response = requests.get('https://www.example.com')
print(response.text)
11. Flask - Web 框架
Flask 是一个轻量级的 Web 框架,适用于迅捷构建易懂的 Web 应用。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, world!'
if __name__ == '__main__':
app.run()
12. Django - Web 框架
Django 是一个高级的 Python Web 框架,鼓励迅捷开发和干净、实用的设计。
from django.http import HttpResponse
from django.views.decorators.http import require_http_methods
@require_http_methods(["GET"])
def hello(request):
return HttpResponse('Hello, world!')
13. Selenium - Web 自动化工具
Selenium 是一个用于 Web 应用程序测试的工具,可以模拟用户在不同浏览器中的操作。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.example.com')
print(driver.title)
driver.quit()
14. Pillow - 图像处理库
Pillow 是一个图像处理库,提供了广泛的文件格式拥护和图像处理功能。
from PIL import Image
img = Image.open('example.jpg')
img.show()
15. SQLAlchemy - SQL 工具包
SQLAlchemy 是一个有力的 SQL 工具包和对象关系映射(ORM)框架。
from sqlalchemy import create_engine
engine = create_engine('sqlite:///example.db')
connection = engine.connect()
connection.execute("CREATE TABLE users (id INT, name VARCHAR)")
connection.close()
16. Celery - 分布式任务队列
Celery 是一个异步任务队列/作业队列,基于分布式消息传递。
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
17. Fabric - 系统管理库
Fabric 是一个 Python 库和命令行工具,用于通过 SSH 执行系统管理任务。
from fabric import Connection
conn = Connection('user@host')
conn.run('ls')
18. Numba - 数值计算加速库
Numba 是一个开源的数值计算加速库,可以将 Python 函数编译成优化的机器码。
from numba import jit
@jit(nopython=True)
def sum_python(n):
result = 0
for i in range(n):
result += i
return result
19. NetworkX - 网络分析库
NetworkX 是一个用于创建、操作和分析错综网络的库。
import networkx as nx
G = nx.Graph()
G.add_edge(1, 2)
G.add_edge(1, 3)
print(G.nodes())
20. Scrapy - 网络爬虫框架
Scrapy 是一个迅捷的高级网络爬虫框架,用于抓取 Web 数据。
import scrapy
from scrapy.crawler import CrawlerProcess
class ExampleSpider(scrapy.Spider):
name = 'example'
start_urls = ['https://www.example.com']
def parse(self, response):
self.log(f'Visited {response.url}')
process = CrawlerProcess(settings={
'USER_AGENT': 'Mozilla/5.0'})
process.crawl(ExampleSpider)
process.start()
21. Pygame - 游戏开发库
Pygame 是一个用于游戏开发的 Python 库,提供了丰盈的图形和声音功能。
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption('Example Game')
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
22. Matplotlib - 动态可视化库
Matplotlib 是一个用于创建动态可视化的库,常用于实时数据监控。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
line, = ax.plot(x, y)
def update(frame):
line.set_ydata(np.sin(x + frame / 10.0))
return line,
ani = matplotlib.animation.FuncAnimation(fig, update, frames=100, blit=True)
plt.show()
23. PyTorch - 深度学习库
PyTorch 是一个流行的深度学习库,提供了灵活的动态计算图和广泛的工具。
import torch
x = torch.randn(2, 2)
print(x)
24. Jupyter Notebook - 交互式计算环境
Jupyter Notebook 是一个交互式计算环境,拥护多种编程语言,常用于数据科学和机器学习。
# 在 Jupyter Notebook 中执行
print("Hello, world!")