我有来自两组 A 和 B 的数据。任务是监控变化,如果变化(Leap)大于 4,则 Stage 设置为高 1。数据是有序的(时间序列)。
import pandas as pd
df = pd.DataFrame({'Group': ['A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'],
'Leap': [1, 5, 1, 1, 5, 1, 1, 3, 5, 5, 1, 1]})
# First set Stage to 1 for all:
df['Stage'] = 1
# Function to find first leap -> set Stage to two.
def setStage2(df):
df.loc[df['Leap'] > 4, 'Stage'] = 2
return df
# Apply function by group:
df.groupby('Group').apply(setStage2)
这是我能走多远。阶段应该是增量的:在阶段 2 上一次,不会回到阶段 1。结果应该是这样的:
那么如何填充Stage呢?
芜湖不芜
相关分类