基于Pandas Series逐行评估依赖其他序列的方程
高效批量处理带空值的Pandas方程序列计算
现有数据
- 多个Pandas Series,每行存储计算方程或空值,示例如下:
2025 A + B 2026 2027 A + B - C 2028 2029 2030 101.2
- 变量值字典
values,其中每个键对应一个Pandas Series,序列索引与上述方程序列(2025至2050)完全匹配,示例:
values = {"A": pd.Series([10, 20, 30, 40, 50]), "B": pd.Series([1, 2, 3, 4, 5]), "C": pd.Series([1.1, 2.2, 3.3, 4.4, 5.5]), "D": pd.Series([1, 3, 2, 4, 0]), ..., }
处理需求
- 前向填充方程:对每个方程序列执行
ffill操作,用前一行的方程补全行内的空值 - 逐行代入计算:将填充后的方程,代入对应索引位置的变量值计算结果,处理流程示例:
Index Equation Result 2025 A + B 10 + 1 2026 A + B 20 + 2 2027 A + B - C 30 + 3 - 3.3 2028 A + B - C 40 + 4 - 4.4 2029 A + B - C 50 + 5 - 5.5 2030 101.2 101.2
- 输出要求:最终生成仅包含原索引和计算结果的Pandas Series,示例:
Index Result 2025 11 2026 22 2027 27.9 2028 39.6 2029 49.5 2030 101.2
核心约束
由于需要处理200余个上述方程序列,计算效率是必须优先保证的关键指标。
内容的提问来源于stack exchange,提问作者Brayan Muñoz
相关产品推荐
相关产品推荐

