【问题标题】:pandas DataFrame pivot table sum function not correctpandas DataFrame 数据透视表求和函数不正确
【发布时间】:2014-03-03 08:50:25
【问题描述】:

正如标题所说,

diag_code = df.pivot_table('PayabletoProvider',rows='DiagnosisCode',aggfunc=sum)

将数据透视函数应用于我的 df 后,我返回的数据没有意义:

DiagnosisCode ------ PayabletoProvider

002 -------------------- NaN

003 -------------------- NaN

004 -------- 1824.70143.80220.001640.2540.00282.00946.31250...

005 -------------------- NaN

006 -------- 3324.95432.482400.65

不明白为什么会发生这种情况,因为 Excel 中的结果似乎还可以并相应地求和。

如果有人能帮我解决这个问题,我们将不胜感激。

【问题讨论】:

  • 有哪些数据类型?如果您有可能导致问题的混合类型。例如,您不能在 pandas 中对字符串和浮点数的混合求和,但 Excel 会默默地删除字符串值并对浮点数求和。
  • @rauparaha 我使用 Excel 来检查 IsNumber 是否和所有 True。可能是不同的数字类型也会导致此问题吗?无论如何我可以复制像 Excel 这样删除字符串类型的函数吗?我从一小部分数据开始,但我使用的是 Pandas,因为数据大小将跨越几百万,而 Excel 会失败。
  • 我不知道您是如何导入的,但例如有一个错误。未指定所有 NA 标记的 CSV 导入可能会导致类型检测不正确。使用df.info() 检查您的列类型是否正确,而不是object。在没有确定问题根源的情况下删除字符串应该是最后的手段,但look here 是如何做到的。
  • @rauparaha 我想为了避免,导入的第一步是确保正确声明所有数据类型并指定所有 NA 标记?感谢您的帮助。

标签: python excel pandas


【解决方案1】:

老问题,但答案可能是 aggfunc 期望“np.sum”而不是 sum。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2021-11-03
    • 1970-01-01
    • 2021-10-14
    • 2018-06-27
    • 2021-01-17
    相关资源
    最近更新 更多