Python 计算增量行直到条件
Python calculate increment rows till a condition
如何得到下面的结果。
Sample Data with Output
时间默认为要计算的列。我们需要获取增量数字作为默认时间,这个增量应该是直到默认列为 1。
以上显示的是一个示例帐户,同样必须应用于多个帐户 ID。
使用:
m = df['Default'].eq(1).groupby(df['acct_id']).transform(lambda x: x.shift(fill_value=False).cummax())
df.loc[~m, 'new'] = df[~m].groupby('acct_id').cumcount()
print (df)
acct_id Default new
0 xxx123 0 0.0
1 xxx123 0 1.0
2 xxx123 1 2.0
3 xxx123 1 NaN
如何得到下面的结果。
Sample Data with Output
时间默认为要计算的列。我们需要获取增量数字作为默认时间,这个增量应该是直到默认列为 1。
以上显示的是一个示例帐户,同样必须应用于多个帐户 ID。
使用:
m = df['Default'].eq(1).groupby(df['acct_id']).transform(lambda x: x.shift(fill_value=False).cummax())
df.loc[~m, 'new'] = df[~m].groupby('acct_id').cumcount()
print (df)
acct_id Default new
0 xxx123 0 0.0
1 xxx123 0 1.0
2 xxx123 1 2.0
3 xxx123 1 NaN