如何在Pandas中对DataFrame按分组执行fillna前向填充操作
解决方法
你原来的代码是对整个name列执行前向填充,会出现跨id继承其他分组数值的问题,改成按id分组后再对name列执行前向填充即可:
df['name'] = df.groupby('id')['name'].ffill()
该写法会自动限定填充逻辑仅在每个id对应的分组内部生效:同组内的空值会继承组内最近的前置非空值,分组首行没有前置非空值的会保留NaN,完全符合你给出的预期结果。
内容的提问来源于stack exchange,提问作者user458
相关产品推荐
相关产品推荐

