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

Pandas pivot_table生成列数不符问题求助

问题排查与解决:pivot_table列数少于预期
  • 检查valuenum字段的全空情况:pivot_table默认会自动移除所有值均为NaN的列。如果某些检查项目(itemid)对应的valuenum全为空,就会被过滤掉。可以用以下代码统计每个itemid的非空结果数量:

    results.groupby('itemid')['valuenum'].count().sort_values()
    

    计数为0的itemid就是被剔除的列。

  • 修改dropna参数保留全空列:如果需要保留所有检查项目对应的列,不管是否有有效结果,在pivot_table中显式设置dropna=False:

    table = pd.pivot_table(results, values='valuenum', index='subject_id', columns=['itemid'], dropna=False)
    

    这样就能得到与唯一itemid数量一致的列数。

  • 验证itemid的唯一性统计准确性:确认原始数据中itemid的唯一性统计是否存在误差,比如是否有格式不一致(如空格、大小写、隐形字符):

    # 清理格式后重新统计
    results['itemid'] = results['itemid'].astype(str).str.strip()
    print(results['itemid'].nunique())
    

    若清理后唯一数下降,说明之前的统计包含了格式不同但实际为同一编码的情况,透视后这些会被正确合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:34:55