Sou relativamente novo em Python/panda. Aqui está o meu problema: eu tenho um df parecido com este:
df = pd.DataFrame({
'ZIP Code': ['1234','1234', '5678', '9101'],
'City Name': ['City A', 'City A', 'City B', 'City C'],
'Newspaper': ['City A News', 'City A Newspaper', 'News for City B', 'C News'],
})
Como você pode ver, para a Cidade A, existem dois Jornais, mas eles estão listados em duas linhas diferentes. No meu DF real, tenho vários casos de cidades, listadas em linhas separadas, completamente idênticas entre si, exceto o jornal listado.
Então, eu quero criar um df parecido com isto:
df_wanted = pd.DataFrame({
'ZIP Code': ['1234', '5678', '9101'],
'City Name': ['City A', 'City B', 'City C'],
'Newspaper': ['City A News, City A Newspaper', 'News for City B', 'C News'],
'Number of Newspapers': [2, 1, 0]
})
Basicamente, quero remover as linhas duplicadas e adicionar a string do jornal não duplicado à primeira entrada da cidade.
Além disso, quero criar uma coluna que conte o número de jornais para que possa usar os números para análises posteriores.
Espero que você possa me ajudar com meu problema! Desde já, obrigado :)
Até agora não encontrei solução para meu problema.
Você pode usar groupby chamado agg:
Saída: