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

如何堆叠Pandas DataFrame并替换NaN值?

Pandas DataFrame 数据整合与NaN替换解决方案

实现思路

把重复的Name行合并,保留每个Name对应的Final非空值,将Alpha的不同取值转为列并匹配Two的内容,最后替换所有NaN值。

分步代码实现

  1. 提取每个Name的Final非空值
    按Name分组,提取Final列的第一个有效非空值:
final_df = df.groupby('Name')['Final'].first().reset_index()
  1. 将Alpha-Two的键值对转为宽表
    用pivot方法把Alpha的取值转为列,对应填充Two的数据:
alpha_two_df = df.pivot(index='Name', columns='Alpha', values='Two').reset_index()
alpha_two_df.columns.name = None  # 移除列索引名称,让结果更简洁
  1. 合并数据并替换NaN
    将两个结果按Name合并,用空字符串替换所有NaN值:
result = pd.merge(final_df, alpha_two_df, on='Name', how='left').fillna('')

最终输出结果

执行代码后得到的DataFrame如下:

Name Final     X     Y Z
0  James   foo  1234  5678  
1   John   too  abdc  efgh  
2   Johh        efgh     

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:40:00