"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Conjunto de datos de productos de Amazon

Conjunto de datos de productos de Amazon

Publicado el 2024-08-29
Navegar:577

Hola, encontré un conjunto de datos de productos de Amazon en Kaggle y decidí encontrar una relación entre el precio y la calificación de estrellas.

Código completo en:
https://github.com/victordalet/Kaggle_analysis/tree/feat/amazon_products


I - Preparación de datos

Para hacer esto, uso SQLAlchemy para convertir el archivo csv en una pequeña base de datos y trazar para mostrar la información.

pip install SQLAlchemy
pip install plotly

En el siguiente script, extraigo los datos y obtengo:

  • relación entre precio y número de estrellas
  • calificación final y número de estrellas
  • precio y número de estrellas
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

Precio y notación

Amazon product dataset

Precio y número de notación.

Amazon product dataset

Notación y número de opinión.

Amazon product dataset

III - Conclusión

Podemos ver que no existe necesariamente una relación entre el precio y la calificación, pero cuanto más alto es el precio, menor es la calificación y cuantas más reseñas, mayor es la calificación.
Lo cual parece lógico, ya que si un producto se compra mucho significa que es popular.

Declaración de liberación Este artículo se reproduce en: https://dev.to/victordalet/amazon-product-dataset-h00?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3