image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Dennis Araujo
Dennis Araujo30/06/2023 19:19
Share

Explorando o Poder do Python para Análise e Visualização de Dados

    No primeiro dia, exploramos o Google Colab e baixamos feedbacks dos usuários em um arquivo CSV. A estrela do dia foi o Net Promoter Score (NPS), que calculamos usando três versões de algoritmos: imperativa, funcional e orientada a objetos (POO). A abstração POO nos preparou para futuras análises de sentimentos nos comentários. Resultado: NPS calculado e exibido.

    class Feedback:
    def __init__(self, nota, comentario):
    self.nota = nota
    self.comentario = comentario
    class AnalisadorFeedback:
    def __init__(self, feedbacks):
    self.feedbacks = feedbacks
    def calcular_nps(self):
    detratores = sum(1 for feedback in self.feedbacks if feedback.nota <= 6)
    promotores = sum(1 for feedback in self.feedbacks if feedback.nota >= 9)
    return (promotores - detratores) / len(self.feedbacks) * 100
    feedbacks = dados.apply(lambda linha: Feedback(linha['nota'], linha['comentario']), axis=1)
    analisador = AnalisadorFeedback(feedbacks)
    nps = analisador.calcular_nps()
    print(nps)

    No segundo dia, aprendemos a usar Python para visualizar dados. Conectamos o Google Colab ao Google Drive e transformamos nossos dados de satisfação dos clientes em um gráfico de barras horizontais. Esse gráfico nos mostrou como os clientes se sentem em relação ao nosso produto de maneira fácil de entender.

    # Definição das constantes que usaremos para visualizar o NPS
    NPS_ZONAS = ['Crítico', 'Aperfeiçoamento', 'Qualidade', 'Excelência']
    NPS_VALORES = [-100, 0, 50, 75, 100]
    NPS_CORES = ['#FF595E', '#FFCA3A', '#8AC926', '#1982C4']
    def criar_grafico_nps(nps):
    fig, ax = plt.subplots(figsize=(10, 2))
    for i, zona in enumerate(NPS_ZONAS):
    ax.barh([0], width=NPS_VALORES[i+1]-NPS_VALORES[i], left=NPS_VALORES[i], color=NPS_CORES[i])
    ax.barh([0], width=1, left=nps, color='black')
    ax.set_yticks([])
    ax.set_xlim(-100, 100)
    ax.set_xticks(NPS_VALORES)
    plt.text(nps, 0, f'{nps:.2f}', ha='center', va='center', color='white', bbox=dict(facecolor='black'))
    patches = [mpatches.Patch(color=NPS_CORES[i], label=NPS_ZONAS[i]) for i in range(len(NPS_ZONAS))]
    plt.legend(handles=patches, bbox_to_anchor=(1,1))
    plt.title('Gráfico de NPS da iFood Dev Week')
    plt.show()
    criar_grafico_nps(nps)

    No terceiro dia da iFood Dev Week, você terá uma experiência emocionante! Usamos uma técnica chamada Processamento de Linguagem Natural (PLN) para entender os sentimentos expressos nos comentários dos usuários sobre o produto. Para isso, usamos a API do ChatGPT, que é uma ferramenta líder nessa área.

    Essa análise de sentimentos nos ajudará a ter uma compreensão mais profunda do que os usuários realmente pensam sobre o produto. Combinando esses insights com os dados quantitativos do Net Promoter Score (NPS), temos uma visão mais completa da satisfação dos clientes.

    Você pode conferir todas as etapas anteriores, como a exploração do Google Colab, o cálculo do NPS e a visualização dos dados usando a biblioteca matplotlib, no notebook do Google Colab. Lá encontraremos o código completo do projeto desenvolvido ao longo da iFood Dev Week.

    Share
    Comments (1)
    Belisnalva Jesus
    Belisnalva Jesus - 30/06/2023 19:48

    Ótimo o seu projeto Dennis!

    parabéns.