首页 > 解决方案 > 计算另一列中重复数字的序列 - 熊猫

问题描述

我有以下数据框:

df = pd.DataFrame({'vehicle':[1,1,1,1,1,2,2,2,1,1,1,2,2,2,2,1,1],
               'waypoint':[1,2,3,4,5,1,2,3,1,2,3,1,2,3,4,1,2]})

我需要计算新列中“车辆”列中重复值的序列,以显示序列出现的次数。例如,车辆编号 1 的序列将为新列编号 1,如果出现另一个车辆编号 1 的序列,则新列将 = 2。上述数据帧的所需输出为:

df = pd.DataFrame({'vehicle':[1,1,1,1,1,2,2,2,1,1,1,2,2,2,2,1,1],
               'waypoint':[1,2,3,4,5,1,2,3,1,2,3,1,2,3,4,1,2],
               'trip':[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3]})

谢谢

标签: pythonpandas

解决方案


我不知道如何在 pandas 中执行此操作,但这已在 itertools 中解决。

from itertools import groupby

sequence = [1,1,1,1,1,2,2,2,1,1,1,2,2,2,2,1,1]
for i,j in groupby(sequence):
    print(i,'repeats',len(list(j)))

推荐阅读