我有这个df:
nome_socio cnpj_cpf_socio municipio
Alexandre AAA Curitiba
Alexandre AAA Rio
Alexandre AAA Porto Alegre
Bruno BBB Porto Alegre
Bruno BBB Porto Alegre
我想获得具有相同nome_socio
和的行的模式cnpj_cpf_socio
。为此,我使用以下代码:
moda_municipio=df[['nome_socio','cnpj_cpf_socio','municipio']].groupby(['nome_socio','cnpj_cpf_socio'])['municipio'].apply(pd.Series.mode).to_frame().reset_index().rename(columns={'municipio':"cidade_pred"})
它确实找到了模式,但是由于对于Alexandre
+AAA
行,三者之间存在平局,因此municipios
它返回三个不同的行。我得到这个结果:
nome_socio cnpj_cpf_socio level_2 cidade_pred
0 Alexandre AAA 0 Curitiba
1 Alexandre AAA 1 Porto Alegre
2 Alexandre AAA 2 Rio
3 Bruno BBB 0 Porto Alegre
我需要让它看起来像这样:
nome_socio cnpj_cpf_socio level_2 cidade_pred
Alexandre AAA 0 Curitiba, Porto Alegre, Rio
Bruno BBB 0 Porto Alegre
有没有办法做到这一点?