Olá Gabriel, tudo bem com você ? Espero que sim.
Fiz um csv simulando alguns dados das colunas que vocês descreveu.
Código:
import pandas as pd
import seaborn as sns
dados = pd.read_csv('planilha.csv', sep =';')
dados
Resultado:
| Data | Revisado |
---|
0 | 03/01/2022 | Sim |
1 | 05/01/2022 | Não |
2 | 13/01/2022 | Não |
3 | 27/01/2022 | Não |
4 | 30/01/2022 | Não |
5 | 03/03/2022 | Não |
6 | 05/03/2022 | Não |
7 | 17/03/2022 | Não |
8 | 27/03/2022 | Sim |
9 | 03/04/2022 | Sim |
Depois apliquei a mesma técnica que você usou para mudar os dados para o tipo datetime. Essa é uma etapa importante porque com ela o Pandas nos permite usar mais métodos para trabalhar com esse tipo de dados.
dados['Data'] = pd.to_datetime(dados['Data'], format='%d/%m/%Y') # manipulei a coluna de datas
Depois disso vou usar o groupby para criar um novo dataframe com a contagem de revisados por mês. Para fazer isso basta passar uma lista para o primeiro parâmetro do groupby, o valor vai ser a coluna Data.
- Aqui vamos filtrar apenas os valores de mês e ano.
- Vamos acessar dados.Data
- Depois vamos acessar o dt que vai permitir fazer alterações no formato das datas
- Por ultimo vamos chamar o strtime onde vamos passar uma string com apenas os dados que queremos usar daquela coluna, no nosso caso o ano e o mês (%m/%Y)
O segundo valor da lista vai ser a coluna Revisado, onde temos os valores de Sim e Não. Depois de agrupado podemos utilizar o método count para contar a quantidade de Sim e Não de cada agrupamento.
Código:
dados_agrupados = dados.groupby([dados.Data.dt.strftime('%m/%Y'), 'Revisado']).count()
dados_agrupados
Resultado:
| | Data |
---|
Data | Revisado | |
01/2022 | Não | 4 |
| Sim | 1 |
03/2022 | Não | 3 |
| Sim | 1 |
04/2022 | Sim | 1 |
Embora tenhamos conseguido contar a quantidade, precisamos fazer algumas modificações para facilitar a manipulação dos dados.
O primeiro é mudar o nome da coluna onde temos a contagem de Data para o nome que descreva melhor como Contagem.
Código:
dados_agrupados.rename(columns={"Data": "Contagem"}, inplace=True)
Depois vou utilizar o reset_index para ter acesso as colunas Data e Revisado que vão ser importantes para criar nosso gráfico.
Código:
dados_agrupados.reset_index(inplace=True)
Resultado:
| Data | Revisado | Contagem |
---|
0 | 01/2022 | Não | 4 |
1 | 01/2022 | Sim | 1 |
2 | 03/2022 | Não | 3 |
3 | 03/2022 | Sim | 1 |
4 | 04/2022 | Sim | 1 |
Por fim podemos usar o sns.barplot, onde nosso y vai ser a coluna Contagem, x vai ser a coluna Data e o hue vai ser a coluna Revisado.
Código:
sns.barplot( y ='Contagem', x='Data', hue='Revisado' , data = dados_agrupados)
Resultado:
Espero ter te ajudado e qualquer duvida não hesite em perguntar.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!