擅长:python、mysql、java
<pre><code>from string import ascii_uppercase
m = dict(enumerate(ascii_uppercase))
def trickery(x):
c = (x.values >= 600)[::-1].cumsum()[::-1]
return c.max() - c
df.assign(subgroup=df.groupby('event_id').people.transform(trickery).map(m))
event_id timestamp people subgroup
0 abc 12:00 1 A
1 abc 12:01 3 A
2 abc 12:02 5 A
3 abc 12:04 600 A
4 abc 12:10 4 B
5 abc 12:15 7 B
6 abc 12:20 1700 B
7 abc 12:30 1 C
8 abc 12:31 1 C
9 xyz 12:32 1 A
10 xyz 12:40 750 A
11 xyz 12:50 1 B
</code></pre>