按组汇总未返回正确值

时间:2019-04-12 12:31:16

标签: python pandas

我有一个数据框,在同一产品代码中,有一个重复的日期,如下所示:

Dataframe

为了纠正这些重复的日期时间副产品,我尝试汇总副产品(“ cod_interno”列)和date(“数据”列)。

df = df.groupby(['cod_interno', 'data']).agg({'descrição_produto': 'first',
                                'unidade_lojas': 'first',
                                'cod_fornecedor': 'first',
                                'leadtime': 'first',
                                'descr_fornecedor': 'first',
                                'entrada': sum,
                                'saida': sum,
                                'saldo_atual': 'last'})

11  504777  Arroz Prato Fino 1kg Tp1    1   135828.0    Arroz Prato Fino    11.0    24/01/2018  7980.00     0.0        2.0   27.0
12  504777  Arroz Prato Fino 1kg Tp1    1   135828.0    Arroz Prato Fino    11.0    24/01/2018  119700.00   30.0       0.0  57.0

重复的日期行是:


11  504777  Arroz Prato Fino 1kg Tp1    1   135828.0    Arroz Prato Fino    11.0    24/01/2018  7980.00     0.0        2.0   27.0
12  504777  Arroz Prato Fino 1kg Tp1    1   135828.0    Arroz Prato Fino    11.0    24/01/2018  119700.00   30.0       0.0  57.0

我的预期结果是:

entrada :总计:0 + 30

saida :总计:2 + 0

saldo_atual :保留最后一个:57

其他列:保留第一列

12  504777  Arroz Prato Fino 1kg Tp1    1   135828.0    Arroz Prato Fino    11.0    24/01/2018  119700.00   30.0       2    57.0

但是我的结果却完全不同:

entrada:150

赛达:59

saldo_atual:125

1 个答案:

答案 0 :(得分:0)

@Chun Kit Yeung提出,它不见了

df = df.groupby(['cod_interno', 'data', 'unidade_lojas']).agg({'descrição_produto': 'first',
                                'cod_fornecedor': 'first',
                                'leadtime': 'first',
                                'descr_fornecedor': 'first',
                                'entrada': sum,
                                'saida': sum,
                                'saldo_atual': 'last'})