Python机器学习技巧:分组和移位实现熊猫分组错位

当使用熊猫进行数据操作时,有时需要对数据进行分组,以交错方式进行操作。

在数据分析中,我们经常需要分组比较或计算a列第n行和b列第n行的数据。以下是我用熊猫解决这个问题的方法。首先,尝试通过操作索引可以实现这个问题。然而,熊猫已经为这种情况提供了一种方法,即移位功能,它使用起来更方便。换档功能定义如下:

熊猫。数据帧移位

数据帧移位(自身,周期=1,频率=无,轴=0,填充值=无)[源]

用可选的时间频率按所需的周期数移动索引。

当没有传递freq时,移动索引而不重新对齐数据。如果传递了freq(在这种情况下,索引必须是日期或日期时间,否则会引发NotImplementedError),索引将使用句点和freq增加。

例如,如果我们想要分析一辆汽车的正式记录,我们需要比较每个位置的前一点和后一点的情况,并且可以使用下面的代码:

df1[' x _ pre ']=df1 . group by( ' CARID ')[' x ']。换档(1)

df1[' x _ next ']=df1 . group by( ' CARID ')[' x ']。shift(-1)

df1[' y _ pre ']=df1 . group by( ' CARID ')[' y ']。换档(1)

df1[' y _ next ']=df1 . group by( ' CARID ')[' y ']。shift(-1)