You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何基于指定列为DataFrame自动补全缺失的行数据

解决方法

你可以通过全量组合生成+左连接的方式实现需求,核心是先生成所有人员和课程的配对组合,再和原表关联补全缺失记录,具体实现步骤(基于Pandas)如下:


实现代码

import pandas as pd

# 构造示例原数据(实际使用时替换为你自己的DataFrame即可)
df = pd.DataFrame({
    'Name': ['Mark', 'Mark', 'Mark', 'David', 'David', 'Cindy', 'Cindy', 'Cindy'],
    'Course Title': ['Math', 'English', 'Econ', 'Math', 'English', 'Math', 'English', 'Econ'],
    'Completion Date': ['1/1/2021', '2/1/2021', '3/1/2021', '7/1/2021', '4/1/2021', '6/1/2021', '9/1/2021', '11/1/2021']
})

# 1. 提取所有唯一姓名、唯一课程列表
all_names = df['Name'].unique()
all_courses = df['Course Title'].unique()

# 2. 生成所有可能的人员-课程全量组合
full_pairs = pd.MultiIndex.from_product(
    [all_names, all_courses], 
    names=['Name', 'Course Title']
).to_frame(index=False)

# 3. 全量组合左关联原表,缺失字段自动填充为NaN
result = full_pairs.merge(df, on=['Name', 'Course Title'], how='left')

# 可选:将空值替换为你需要的N/A
result = result.fillna('N/A')

结果说明

运行上述代码后输出的result就是你需要的格式,会自动补全David缺修Econ的记录,其余字段填充为N/A。如果原表还有其他额外字段,左连接时也会自动补全对应空值,不需要额外适配。

内容的提问来源于stack exchange,提问作者puhles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:36:05