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

Pandas补充DataFrame缺失数据:如何自动添加缺失用户记录

补全缺失的周-用户记录

要自动添加第一周User1这类完全缺失的记录,核心思路是先生成所有周与所有用户的完整组合,再和原始数据合并,具体步骤如下:

  1. 提取数据中所有唯一的周和用户
  2. 生成两者的笛卡尔积,得到所有应存在的记录框架
  3. 通过左连接合并原始数据,自动补全缺失记录

代码实现

import pandas as pd

# 原始数据
df = pd.DataFrame({'w':[1,1,2,2,2,3,3,3,4,4,4], 
                   'user':['User2', 'User3','User1','User1','User2','User2','User2','User3','User1','User1','User3'],
                   'c':[7,2,3,1,2,5,4,6,9,8,7]})

# 生成周和用户的完整组合
all_weeks = df['w'].unique()
all_users = df['user'].unique()
full_records = pd.MultiIndex.from_product([all_weeks, all_users], names=['w', 'user']).to_frame(index=False)

# 合并补全缺失记录
result_df = pd.merge(full_records, df, on=['w', 'user'], how='left')

# 可选:将c列的空值替换为0或其他值(根据需求调整)
# result_df['c'] = result_df['c'].fillna(0)

print(result_df)

效果说明

运行后会得到包含所有周-用户组合的结果,其中第一周User1的记录会被自动添加,c列默认显示NaN,你可以通过fillna设置填充值(比如0)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:03:26