我有一个数据框,在同一产品代码中,有一个重复的日期,如下所示:
为了纠正这些重复的日期时间副产品,我尝试汇总副产品(“ 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
答案 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'})