按未返回正确值的组进行聚合

2024-05-03 07:25:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Dataframe

为了更正这些重复的datetimes副产品,我尝试聚合副产品('cod\u interno'列)和date('data'列)

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

赛达:总和:2+0

全部:保留最后一个: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

然而,我的结果却完全不同:

恩特拉达:150

赛达:59

萨尔多阿图:125


Tags: 数据dfdatacodfirstsum总和tp1
1条回答
网友
1楼 · 发布于 2024-05-03 07:25:01

正如@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'})

相关问题 更多 >