Pandas按ColA分组后基于ColC组内首值递增生成新列的实现
实现方案
仅需1行核心代码即可实现需求:
df['newCol'] = df.groupby('ColA')['ColC'].transform('first') + df.groupby('ColA').cumcount() * 10
代码逻辑说明
df.groupby('ColA')['ColC'].transform('first'):按ColA分组后,取出每组ColC的第一个值,广播到分组内所有行,作为每组的初始值df.groupby('ColA').cumcount():按ColA分组后,给每组内的行按顺序生成从0开始的递增序号- 初始值加上序号乘以固定增量10,即可得到符合规则的
newCol
运行后输出结果与你给出的预期效果完全一致。
内容的提问来源于stack exchange,提问作者dmd7
相关产品推荐
相关产品推荐

