Ao final dessa seção, restam linhas duplicadas de clientes (que deveriam ser únicos):
df_final['Id_unico_cliente'].value_counts()
df_final.tail()
Para resolver esse problema, basta executar essa linha:
df_final.drop_duplicates(subset='Id_unico_cliente', keep='last', inplace=True)
E aí sim persistir o arquivo final em disco:
df_final.to_csv('RFM.csv.bz2', index=False)