可以使用apply函数代替遍历分组,apply函数可以对每个分组进行操作,可以提高代码效率,如下所示:

def add_features(group):
    group["seq_min"] = group['Via_Seq'].min()
    group["second_smallest"] = group['Via_Seq'].nsmallest(2).iloc[-1]
    group["second_largest"] = group['Via_Seq'].nlargest(2).iloc[-1]
    group["seq_max"] = group['Via_Seq'].max()
    return group

data = df.groupby(['TrainIndex']).apply(add_features).reset_index(drop=True)

这里定义了一个函数add_features,对每个分组进行操作,并返回处理后的数据。然后使用apply函数将这个函数应用于每个分组,最后使用reset_index函数将结果重新设置索引。这个方法比遍历分组要快很多


原文地址: https://www.cveoy.top/t/topic/c1oC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录