如何创建一个ID,每当另一列的上一行为1时,该ID就增加1
How to create an ID that increases by 1 every time the previous row of another column is 1
使用 Python,我需要创建两个新变量。
一个(参见示例中的 JourneyID)每当另一列的前一行取值“1”时累积增加一个,并且
一个(参见示例中的 JourneyN)每次另一列的前一行取值“1”时累积增加 1,但每次受访者 ID 增加 1 时从 1 重新开始。
m = df['Purpose'] == 1
df.loc[m, 'JourneyID'] = m.cumsum()
Returns df[JourneyID] = [1,1,1,2,1,1,3,1,4] 当它应该 return [1,1,2,2 ,3,3,3,4,4] 为 ID。
非常感谢任何帮助。
它不是很干净,但应该能满足您的需求:
helper = ((df['Purpose']==1).cumsum()+1).shift(1)
helper[0]=1
df['JourneyID'] = helper
JourneyN我没完全看懂:)
使用 Python,我需要创建两个新变量。
一个(参见示例中的 JourneyID)每当另一列的前一行取值“1”时累积增加一个,并且
一个(参见示例中的 JourneyN)每次另一列的前一行取值“1”时累积增加 1,但每次受访者 ID 增加 1 时从 1 重新开始。
m = df['Purpose'] == 1
df.loc[m, 'JourneyID'] = m.cumsum()
Returns df[JourneyID] = [1,1,1,2,1,1,3,1,4] 当它应该 return [1,1,2,2 ,3,3,3,4,4] 为 ID。
非常感谢任何帮助。
它不是很干净,但应该能满足您的需求:
helper = ((df['Purpose']==1).cumsum()+1).shift(1)
helper[0]=1
df['JourneyID'] = helper
JourneyN我没完全看懂:)