我有一个面板dataframe
,记录了个人位置数据10年的许多观测值。它看起来像这样:
personid location_1991 location_1992 location_1993 location_1994
0 111 1 1 2 2
1 233 3 3 4 999
2 332 1 3 3 3
3 454 2 2 2 2
4 567 2 1 1 1
我希望通过为每种转换创建一个变量来跟踪每个人的转换。我想要一列来标记每个人何时转移到每种位置类型。理想情况下,它应该是这样的:
personid transition_to_1 transition_to_2 transition_to_3 transition_to_4
0 111 0 1 0 0
1 233 0 0 0 1
2 332 0 0 1 0
3 454 0 0 0 0
4 567 1 0 0 0
到目前为止,我尝试迭代每一行,然后循环遍历每个元素以检查它是否与上一个元素相同。这似乎很费时间。有没有更好的方法来跟踪数据框中每一行的值的变化?