-
Python数据分析-大数据处理
Dask 基础 import dask.dataframe as dd# 读取大文件df = dd.read_csv('large_file.csv')# 延迟计算result = df.groupby('category').sum().compute() 分块处理 # 分块读取chunk_size = 10000for chunk in pd.read_csv('large_file.csv', chunksize=chunk_size): # 处理每个块 process...…
-
Python数据分析-时间序列分析
时间序列基础 import pandas as pd# 创建时间序列dates = pd.date_range('2023-01-01', periods=365, freq='D')ts = pd.Series(np.random.randn(365), index=dates)# 重采样monthly = ts.resample('M').mean() 趋势分析 # 移动平均ts.rolling(window=30).mean()# 指数平滑ts.ewm(span=30).mea...…
-
Python数据分析-ETL数据处理
数据提取 import pandas as pdfrom sqlalchemy import create_engine# 从数据库提取engine = create_engine('sqlite:///data.db')df = pd.read_sql('SELECT * FROM users', engine)# 从API提取import requestsresponse = requests.get('https://api.example.com/data')data = res...…
-
Python数据分析-数据可视化进阶
Seaborn 基础 import seaborn as snsimport matplotlib.pyplot as plt# 设置样式sns.set_style("whitegrid")# 散点图sns.scatterplot(data=df, x='x', y='y', hue='category') 统计图表 # 分布图sns.histplot(data=df, x='value', kde=True)# 箱线图sns.boxplot(data=df, x='category...…
-
Python数据分析-NumPy进阶
数组操作 import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])print(arr.shape) # (2, 3)print(arr.T) # 转置 广播 a = np.array([[1, 2, 3]])b = np.array([[1], [2]])result = a + b # 广播运算 线性代数 from numpy.linalg import inv, detA = np.array([[1, 2...…
-
Python数据分析-Pandas进阶
分组聚合 import pandas as pddf = pd.DataFrame({ 'A': ['foo', 'bar', 'foo', 'bar'], 'B': [1, 2, 3, 4], 'C': [2, 3, 4, 5]})result = df.groupby('A').agg({'B': 'sum', 'C': 'mean'}) 透视表 pivot = df.pivot_table(values='C', index='A', columns='B', ag...…
-
Python Web开发-WebSocket实时通信
Flask-SocketIO from flask_socketio import SocketIO, emit, join_room, leave_room@socketio.on('connect')def on_connect(): emit('status', {'msg': 'Connected'})@socketio.on('join')def on_join(data): room = data['room'] join_room(room) emit('s...…
-
Python Web开发-部署与运维
Docker 部署 FROM python:3.9-slimWORKDIR /appCOPY requirements.txt .RUN pip install -r requirements.txtCOPY . .EXPOSE 8000CMD ["gunicorn", "app:app"] Nginx 配置 server { listen 80; location / { proxy_pass http://127.0.0.1:8000; proxy...…
-
Python Web开发-身份认证
JWT 认证 import jwtfrom datetime import datetime, timedeltadef create_token(user_id): payload = { 'user_id': user_id, 'exp': datetime.utcnow() + timedelta(hours=24) } return jwt.encode(payload, 'secret', algorithm='HS256') 密码哈希 ...…
-
Python Web开发-RESTful API设计
RESTful 设计原则 # GET /api/users - 获取用户列表# GET /api/users/1 - 获取特定用户# POST /api/users - 创建用户# PUT /api/users/1 - 更新用户# DELETE /api/users/1 - 删除用户 Flask-RESTful from flask_restful import Api, Resourceclass UserAPI(Resource): def get(self, user_id...…
-
Python Web开发-Django入门
项目创建 django-admin startproject myprojectcd myprojectpython manage.py startapp myapp 模型定义 from django.db import modelsclass Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.Da...…
-
Python实用技巧-字符串与正则
字符串格式化推荐 name, score = "Alice", 95print(f"{name} scored {score}") # f-stringprint("{name} scored {score}".format(name=name, score=score)) 常用字符串方法 s = " hello,Python "s = s.strip().lower().replace(",", ", ")parts = s.split() 正则表达式基础 import ...…
-
Python Web开发-Flask进阶
蓝图使用 from flask import Blueprintapi = Blueprint('api', __name__, url_prefix='/api')@api.route('/users')def get_users(): return {'users': []}app.register_blueprint(api) 中间件 @app.before_requestdef before_request(): g.start_time = time.time()@...…
-
Python进阶-打包分发进阶
setup.py 进阶 from setuptools import setup, find_packagessetup( name="mypackage", version="0.1.0", packages=find_packages(), install_requires=[ "requests>=2.20.0", "click>=7.0", ], extras_require={ "dev": ["pytes...…
-
Python进阶-测试进阶
Mock 使用 from unittest.mock import Mock, patchdef test_api_call(): with patch('requests.get') as mock_get: mock_get.return_value.json.return_value = {'status': 'ok'} # 测试代码 result = api_call() assert result['status'] == '...…
-
Python进阶-C扩展开发
ctypes 使用 import ctypes# 加载C库lib = ctypes.CDLL('./libexample.so')# 调用C函数result = lib.add(3, 4)print(result) Cython 基础 # example.pyxdef fibonacci(int n): cdef int a = 0, b = 1, i for i in range(n): a, b = b, a + b return a 转载请注明:周志洋...…
-
Python进阶-内存管理
引用计数 import sysa = [1, 2, 3]print(sys.getrefcount(a)) # 引用计数 弱引用 import weakrefclass Node: def __init__(self, value): self.value = value self.parent = None self.children = weakref.WeakSet() 垃圾回收 import gc# 手动触发垃圾回收gc.coll...…
-
Python进阶-协议与鸭子类型
迭代协议 class Counter: def __init__(self, max_count): self.max_count = max_count def __iter__(self): self.current = 0 return self def __next__(self): if self.current < self.max_count: self.current += ...…
-
Python进阶-装饰器进阶
参数化装饰器 def repeat(times): def decorator(func): def wrapper(*args, **kwargs): for _ in range(times): result = func(*args, **kwargs) return result return wrapper return decorator@repeat(3)def greet(...…
-
Python进阶-性能分析与优化
性能分析 import cProfiledef slow_function(): return sum(i*i for i in range(1000000))cProfile.run('slow_function()') 内存分析 from memory_profiler import profile@profiledef memory_intensive(): data = [i for i in range(100000)] return sum(data) 转载...…