我目前有以下问题正在努力解决.具有许多数字列的数据帧,该数据帧由充当ID的"SERIAL_NUMBER"列组成.列"UPDATE"为True或False.还有一些我需要用以下内容求和/除以的数值列:求和/除以行为"UPDATE"=FALSE的所有数值列到"UPDATE"为True的下一行(包括"UPDATE"=True的行.
为了给您一个额外的上下文,这些条目用于训练机器学习模型,但是对于"UPDATE"=FALSE的行,我没有目标变量.因此,我需要对下一个"UPDATE"=TRUE行的值求和或取平均值.
提前谢谢!
例如,下面是输入表:
serial_number | model | numerical_mean | numerical_1_sum | numerical_2_sum | update |
---|---|---|---|---|---|
a | 2023-01-01 | 5 | 10 | 20 | False |
a | 2023-01-02 | 10 | 15 | 10 | False |
a | 2023-01-03 | 15 | 15 | 10 | True |
b | 2023-01-01 | 10 | 15 | 10 | False |
b | 2023-01-02 | 15 | 15 | 10 | True |
b | 2023-01-03 | 15 | 15 | 10 | False |
b | 2023-01-04 | 15 | 15 | 10 | True |
b | 2023-01-05 | 15 | 15 | 10 | False |
c | 2023-01-04 | 15 | 15 | 10 | True |
生成的输出应如下所示:
serial_number | date | numerical_mean | numerical_1_sum | numerical_2_sum | update |
---|---|---|---|---|---|
a | 2023-01-03 | 10 | 40 | 40 | True |
b | 2023-01-02 | 12.5 | 30 | 20 | True |
b | 2023-01-04 | 15 | 30 | 20 | True |
c | 2023-01-04 | 15 | 15 | 10 | True |
输出表的行数与输入表中"UPDATE"=True的行数相同.因此,基本上,我try 获取第一个"UPDATE"=FALSE和第一个"UPDATE"=TRUE行之间相同序列号内的所有行,并将它们相加或取平均值.