用途:该子技能针对标准 pandas 代码内存占用高、运行慢的问题,提供内存优化、执行加速与大规模数据集(1000 万行以上)处理技巧,帮助在 RAM 受限环境下运行 pandas。
主要能力:涵盖 dtype 降位(downcasting)、低基数文本转 Categorical、PyArrow 后端加速字符串操作与加载、向量化替代 apply/iterrows、np.where 与 np.select 处理条件逻辑、Series 索引查找表、Parquet 分区与谓词下推、分块读取、排序索引加速切片、pd.to_datetime 指定 format、df.eval() 等。
使用方式:资料给出示例,如 pd.read_csv("data.csv", engine="pyarrow", dtype_backend="pyarrow") 加载;df.to_parquet('data_dir', partition_cols=['year', 'month']) 保存;pd.read_parquet('data_dir', columns=['price', 'id'], filters=[('year', '==', 2023)]) 读取子集;pd.read_csv("massive.csv", chunksize=chunk_size) 分块处理;df.memory_usage(deep=True) 查看内存明细。
适用场景:DataFrame 超过 1GB 造成内存压力、read_csv 加载过慢、逐行操作成为瓶颈、百万行级连接或查找、为高性能 ML 模型准备数据。
限制与注意:资料强调避免 iterrows()、object dtype、循环内 append(),改用列表收集后 pd.concat();inplace=True 常仍产生内部副本,应优先关注 dtype;未提供具体性能基准、版本兼容范围或安装命令。