"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Conjunto de dados de produtos Amazon

Conjunto de dados de produtos Amazon

Publicado em 2024-08-29
Navegar:798

Olá, encontrei um conjunto de dados de produtos da Amazon no Kaggle e decidi encontrar uma relação entre preço e classificação por estrelas.

Código completo em:
https://github.com/victordalet/Kaggle_análise/tree/feat/amazon_products


I - Preparando dados

Para fazer isso, eu uso SQLAlchemy para converter o arquivo csv em um pequeno banco de dados e plotar para exibir as informações.

pip install SQLAlchemy
pip install plotly

No script a seguir, extraio os dados e obtenho:

  • relação entre preço e número de estrelas
  • classificação final e número de estrelas
  • preço e número de estrelas
import pandas as pd
from sqlalchemy import create_engine, text
import plotly.express as px


class Main:
    def __init__(self):
        self.result = None
        self.connection = None

        self.engine = create_engine("sqlite:///my_database.db", echo=False)
        self.df = pd.read_csv("amazon_product.csv")
        self.df.to_sql("products", self.engine, index=False, if_exists="append")

        self.get_data()
        self.transform_data()
        self.display_graph()
        self.get_data_number_start_and_price()
        self.transform_data()
        self.display_graph()
        self.get_data_number_start_and_start()
        self.display_graph()

    def get_data(self):
        self.connection = self.engine.connect()
        query = text(
            "SELECT product_price, product_star_rating FROM products where product_price != '$0.00'"
        )
        self.result = self.connection.execute(query).fetchall()

    def get_data_number_start_and_price(self):
        query = text(
            "SELECT product_price, product_num_ratings FROM products where product_price != '$0.00'"
        )
        self.result = self.connection.execute(query).fetchall()

    def get_data_number_start_and_start(self):
        query = text(
            "SELECT product_star_rating, product_num_ratings FROM products where product_price != '$0.00'"
        )
        self.result = self.connection.execute(query).fetchall()
        for i in range(len(self.result)):
            self.result[i] = [self.result[i][0], self.result[i][1]]

    def transform_data(self):
        for i in range(len(self.result)):
            self.result[i] = [float(self.result[i][0].split("$")[1]), self.result[i][1]]

    def display_graph(self):
        fig = px.scatter(
            self.result, x=0, y=1, title="Amazon Product Price vs Star Rating"
        )
        fig.show()


Main()

II - Resultado

Preço e notação

Amazon product dataset

Preço e número de notação

Amazon product dataset

Notação e número de opinião

Amazon product dataset

III - Conclusão

Podemos ver que não há necessariamente uma relação entre preço e classificação, mas quanto maior o preço, menor a classificação, e quanto mais avaliações, maior a classificação.
O que parece lógico, pois se um produto é comprado muito significa que é popular.

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/victordalet/amazon-product-dataset-h00?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3