1 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
我們可以transform max結(jié)合np.where
df['y'] = np.where(df.t != df.groupby('ID').t.transform('max'), 1, df.x1-df.x2+1)
df
Out[221]:
ID t x1 x2 y
0 1 0 3.50 4 1.00
1 1 1 3.50 4 1.00
2 1 2 3.50 4 1.00
3 1 3 3.50 4 0.50
4 2 0 2.01 3 1.00
5 2 1 2.01 3 1.00
6 2 2 2.01 3 0.01
7 3 0 3.90 4 1.00
8 3 1 3.90 4 1.00
9 3 2 3.90 4 1.00
10 3 3 3.90 4 0.90
11 4 0 2.20 3 1.00
12 4 1 2.20 3 1.00
13 4 2 2.20 3 0.20
14 5 0 1.80 2 1.00
15 5 1 1.80 2 0.80
16 6 0 2.10 3 1.00
17 6 1 2.10 3 1.00
18 6 2 2.10 3 0.10
添加回答
舉報