【发布时间】:2020-05-07 17:04:14
【问题描述】:
我想计算连续值之间的差值(导数),例如:
list = 1, 3, 7, 6
list_diff = NaN, 2, 4, -1
仅当值中间没有 NaN 时,上述情况才有效。在下面的案例中,我想知道年级差异,以了解学生的学习在一段时间内是如何演变的。问题是缺少一些成绩!我们仍然想计算该差异(仅当中间最多有 2 个缺失的成绩时)。
我该怎么做?
df:
GRD1 GRD2 GRD3 GRD4 GRD5 GRD6 GRD7
001 1 6 5 9 1 7 9
002 5 8 NaN 8' NaN NaN 2'
003 7 *8* NaN NaN NaN *2* 6
df_diff:
GRD1 GRD2 GRD3 GRD4 GRD5 GRD6 GRD7
001 NaN 5 -1 4 -8 6 2
002 NaN 3 NaN 0 NaN NaN -6'
003 NaN 1 NaN NaN NaN *NaN* 4
查看数据框 df:请注意学生 001 和 002,即使 NaN 位于中间,也会计算成绩之间的差异,因为 他们最多只有 2 个缺失的成绩 .例如。 2' - 8' = -6'
但是,学生 003 有 3 个缺失成绩的差距,因此,不会计算这种情况下的差值。例如。 *2* - *8* = *NaN*.
【问题讨论】: