MMMHUHU
这是使用的一种方法np.select:conds = [df.Color.eq('red'), df.Color.eq('purple')]df['col3'] = np.select(conds, [1,0], '')df['col3'] = df.groupby('ID').col3.transform('max')或者我们可以改为将 a 设置nan为默认值,并使用 进行转换first:df['col3'] = np.select(conds, [1,0], np.nan)df['col3'] = df.groupby('ID').col3.transform('first').fillna('')print(df) ID Color col30 1 red 11 1 blue 12 1 yellow 13 2 blue 04 2 purple 05 3 yellow 6 3 green 请注意,前一种方法利用了以下优势:max('', '0')# '0'max('', '1')# '1'