在R中如何像Excel VLOOKUP一样填充dataframe缺失值?
填充DataFrame中重复Name对应的缺失Category
针对你描述的场景,用pandas可以轻松实现缺失值填充,以下是两种高效方法:
方法1:分组后向前填充
按Name分组,对Category列使用向前填充(ffill),自动将每个Name首次出现的Category值填充到后续同Name的缺失行:
import pandas as pd # 示例初始数据(可替换为你的df1) df1 = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob', 'Alice'], 'Category': ['A', 'B', None, 'C', None, None] }) # 执行填充 df1['Category'] = df1.groupby('Name')['Category'].ffill()
方法2:提取分组首值后批量填充
直接提取每个Name对应的第一个非空Category值,再批量覆盖该Name的所有行:
df1['Category'] = df1.groupby('Name')['Category'].transform('first')
处理后效果
两种方法都会得到目标数据:
| Name | Category |
|---|---|
| Alice | A |
| Bob | B |
| Alice | A |
| Charlie | C |
| Bob | B |
| Alice | A |
内容的提问来源于stack exchange,提问作者totesbotes
相关产品推荐
相关产品推荐

