首页 > 解决方案 > 使用具有日期条件的先前和当前行值的新熊猫数据框列值

问题描述

我目前正在使用 Excel 中的公式进行计算,我更愿意在 Python 中进行自动处理(其他数据操作在那里完成,这是最后一部分)。如果“日期”列中的日期值超过某个日期,我想使用先前和当前行值的组合来计算 G 列。在 Excel 中,我使用以下公式完成计算:

粘贴在单元格 G3 中。

=IF(B3<=DATE(2018,11,4),D3,(G2-D2+E3+F3))

A   B                    C       D       E       F       G
0   2018-10-14 00:00:00  30.5    169.6   -       -       169.6 
1   2018-10-21 00:00:00  23.2    141.0   -       -       141.0 
2   2018-10-28 00:00:00  23.1    125.5   -       -       125.5 
3   2018-11-04 00:00:00  22.6    160.1   -       -       160.1 
4   2018-11-11 00:00:00  22.8    -       -       -       137.6 
5   2018-11-18 00:00:00  26.5    -       -       -       114.8 
6   2018-11-25 00:00:00  18.5    -       -       -       88.3 
7   2018-12-02 00:00:00  21.6    -       50.0    -       69.8 
8   2018-12-09 00:00:00  21.7    -       -       -       98.2 
9   2018-12-16 00:00:00  20.8    -       50.0    -       76.5  
10  2018-12-23 00:00:00  21.1    -       -       100.0   105.8 
11  2018-12-30 00:00:00  18.7    -       50.0    -       184.7 
12  2019-01-06 00:00:00  22.0    -       -       50.0    215.9 

我尝试使用 np.where、loc、iterrows、shift、for 循环等的许多组合,但我无法获得正确的输出。我感谢您的帮助。

标签: excelpython-3.xpandasloopsnumpy

解决方案


推荐阅读