【问题标题】:losing values ​after pivot_table pandas在 pivot_table 大熊猫之后失去价值
【发布时间】:2020-01-19 15:30:02
【问题描述】:

我有以下数据框:

df.between_time('09:00', '09:05').head(10)

                     Qtd   Preço  Núm            CC           CV        Agr
Hora                                                                       
2020-01-19 09:05:00    5  4073.5  734    1618-Ideal    308-Clear   Vendedor
2020-01-19 09:05:00    5  4073.5  733    1618-Ideal   120-Genial   Vendedor
2020-01-19 09:05:00    5  4073.5  732    120-Genial   1618-Ideal   Vendedor
2020-01-19 09:05:00   10  4074.0  731  045-C Suisse  127-Tullett   Vendedor
2020-01-19 09:05:00    5  4074.0  730    120-Genial  127-Tullett   Vendedor
2020-01-19 09:05:00    5  4074.0  729  072-Bradesco  127-Tullett   Vendedor
2020-01-19 09:05:00    5  4074.0  728       008-UBS       003-XP   Vendedor
2020-01-19 09:04:59   20  4074.5  727     262-Mirae      122-BGC  Comprador
2020-01-19 09:04:59    5  4074.5  726  072-Bradesco      122-BGC   Vendedor
2020-01-19 09:04:59   35  4074.5  725       008-UBS      122-BGC   Vendedor

当试图旋转表格时,值从int变为float,结果值与实现的不匹配:

df.between_time('09:00', '09:05').head(10).pivot_table(index = 'Preço', columns = 'Agr', values = 'Qtd')

Agr     Comprador  Vendedor
Preço                      
4073.5        NaN      5.00
4074.0        NaN      6.25
4074.5       20.0     20.00

seller 列收到一个不可能的值 (6.25),因为在第一个数据帧中只有整数值。

如何解决此问题,以便列接收正确的列 Qty 总和?

【问题讨论】:

    标签: python pandas pivot-table


    【解决方案1】:

    DataFrame.pivot_table中的默认聚合函数是np.mean,所以需要添加aggfunc='sum'

    df1 = (df.between_time('09:00', '09:05')
             .head(10)
             .pivot_table(index = 'Preço', columns = 'Agr', values = 'Qtd', aggfunc='sum'))
    

    详情

    print (df.pivot_table(index = u'Preco', columns = 'Agr', values = 'Qtd', aggfunc='sum'))
    Agr     Comprador  Vendedor
    Preço                      
    4073.5        NaN      15.0
    4074.0        NaN      25.0
    4074.5       20.0      40.0
    

    【讨论】:

      猜你喜欢
      • 2019-10-26
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多