我希望计算两个时间点之间每个人的心理健康评分的变化。
每个用户都有一个名字,以及3个不同时间点的心理健康分数。我想计算一下时间点3和1之间心理健康分数的变化
下面是我开始使用的df示例:
User Timepoint Mental Health Score
Bill 1 5
Bill 2 10
Bill 3 15
Wiz 1 10
Wiz 2 10
Wiz 3 15
Sam 1 5
Sam 2 5
Sam 3 5
这是所需输出:
User Timepoint Mental Health Score Change in Mental Health (TP1 and 3)
Bill 1 5
Bill 2 10
Bill 3 15 10
Wiz 1 10
Wiz 2 10
Wiz 3 15 5
Sam 1 5
Sam 2 5
Sam 3 5 0
有人知道怎么做吗?
5条答案
按热度按时间m1m5dgzv1#
您可以使用
shift()
和np.where()
完成此操作sqxo8psd2#
用
groupby
和where
试试:woobm2wo3#
正如在注解中已经指出的,您可以在
User
上groupby
您的 Dataframe ,并在Mental Health Score
上计算差异我在这里放了一段代码来演示
h9vpoimq4#
使用
groupby
和merge
:输出:
tez616oj5#
这是另一个可能的解决方案:
输出