【问题标题】:Pandas Pivot table aggfunc countif conditionPandas Pivot table aggfunc countif 条件
【发布时间】:2019-04-24 18:20:33
【问题描述】:

我正在尝试制作一个数据集 Docs 的数据透视表,它计算“DocuNum”的数量,如果只有“DaysBetween”列小于 30 则计算。我的数据透视表应该有两列。 'DocNum' 的计数和 'Days Between' 的计数小于 30。

DocsPivot = pd.pivot_table(Docs, index = ['Study'], values = ['DocNum', 
            'DaysBetween'],  
            aggfunc ={'DocNum':len, 'DaysBetween':lambda x: x<30})

预期结果

TEST    DocNum  DaysBetween 
101 4158    365
203 1958    325
105 1019    243
201 11922   1045
204 1067    56
301 2690    265

【问题讨论】:

    标签: python-3.x pandas pivot-table


    【解决方案1】:

    我觉得你可以把x&lt;30改成(x&lt;30).sum()

    DocsPivot = pd.pivot_table(Docs, index = ['Test'], values = ['DocNum', 
                'DaysBetween'],  
                aggfunc ={'DocNum':len, 'DaysBetween':lambda x: (x<30).sum()})
    

    【讨论】:

      猜你喜欢
      • 2016-10-25
      • 2023-03-30
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多