-
用pathlib的rglob递归查找CSV文件更可靠,读取时需统一dtype、禁用low_memory,强制列顺序一致,大文件用chunksize流式处理并及时清理内存。
-
pd.read_html()不是爬虫,它仅解析HTML字符串中的<table>标签,不发请求、不执行JS、不处理登录或反爬,需先用requests等工具获取HTML源码再传入。
-
Flask-Migrate初始化失败主因是db实例未正确初始化或未被发现:需在模块顶层声明db=SQLAlchemy(),并在create_app()中调用db.init_app(app);FLASK_APP须指向含db和模型的可导入路径,且models必须被显式导入。
-
应使用inspect.getfile()获取类或模块的真实文件路径,它比module更可靠,且比inspect.getsourcefile()兼容性更好,能处理.pyc、冻结模块等场景,而直接读sys.modules[__module__].__file__容错性差。
-
用scipy.stats.ks_2samp可快速检验训练集与测试集数值特征分布偏移,不假设正态性、对连续变量敏感,p值显著变化(如低于0.05)常提示数据采集逻辑变更;需配合check_array校验dtype一致性,避免int64与float64引发伪偏移;小规模数据可辅以pairwise_distances计算样本级距离判断覆盖范围。
-
最核心的合并方法是pd.merge(),它基于共同列或索引进行内、左、右、外连接;on参数指定连接键,支持单列或多列匹配;当列名不同时可用left_on和right_on;重复列名通过suffixes自定义后缀区分;pd.concat()用于沿轴堆叠数据,适合结构相似的数据拼接;基于索引合并需设置left_index和right_index,索引冲突可通过reset_index或ignore_index处理。
-
prune.l1_unstructured仅添加掩码而不删参数,需调用prune.remove()才能永久移除零值参数并减小模型体积;结构化剪枝应使用prune.ln_structured按通道裁剪,保存前必须remove以避免加载错误。
-
Python自定义异常必须继承Exception或其子类,否则无法被exceptException捕获;抛出时须用raiseMyError("msg")而非raiseMyError;需实现__init__并调用super().__init__(msg)确保可打印;推荐统一定义在errors.py中,明确处理层级与携带字段。
-
需配置pytest.ini或pyproject.toml启用asyncio_mode="auto",使pytest-asyncio自动识别并执行asyncdef测试函数,无需装饰器或改代码。
-
DjangoORM默认防SQL注入,但raw()、extra()、cursor.execute()等绕过ORM的操作必须显式参数化;LIKE等需手动转义;动态表名、字段名、排序等非值参数须白名单校验。
-
str.contains默认使用正则模式,需设regex=False匹配中文或特殊字符;空值需显式指定na=False;大小写敏感应加case=False;性能优化需预处理或合并关键词。
-
StandardScaler不能直接fit测试集,因会泄露测试信息导致评估失真;必须仅用训练集fit_transform,测试集仅transform,并持久化模型;对NaN报错,需前置处理缺失值;稀疏矩阵慎用with_mean=True;inverse_transform仅限原数据精确还原。
-
FastAPI本身不处理双向SSL,需由Uvicorn或Nginx在TLS终止时完成验证;Uvicorn仅支持单点测试,生产环境应使用Nginx校验证书并透传X-Client-DN等头给FastAPI校验。
-
数据标注需用LabelImg或CVAT标出目标框和类别,统一命名并生成.xml或.json文件;数据组织按YOLO、FasterR-CNN、TensorFlow要求转为对应格式;训练推荐YOLOv8或FasterR-CNN,注意学习率、增强与早停;部署需导出ONNX,用ORT/TensorRT加速,再封装API服务。
-
手写MultiHeadAttention需注意:q@k.T/sqrt(d_k)维度对齐与归一化、mask用-inf且形状为[B,1,L,L]、q/k/v线性层bias=False、reshape用transpose而非view、FFN后必须接residual+LayerNorm、dropout置于add前、验证时检查attn_weights分布与梯度。