"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Ensemble de données de produits Amazon

Ensemble de données de produits Amazon

Publié le 2024-08-29
Parcourir:452

Bonjour, j'ai trouvé un ensemble de données de produits Amazon dans Kaggle et j'ai décidé de trouver une relation entre le prix et le nombre d'étoiles.

Code complet en :
https://github.com/victordalet/Kaggle_analysis/tree/feat/amazon_products


I - Préparation des données

Pour ce faire, j'utilise SQLAlchemy pour convertir le fichier csv en une petite base de données et tracer pour afficher les informations.

pip install SQLAlchemy
pip install plotly

Dans le script suivant, j'extrais les données et j'obtiens :

  • rapport entre prix et nombre d'étoiles
  • note finale et nombre d'étoiles
  • prix et nombre d'étoiles
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 - Résultat

Prix ​​et notation

Amazon product dataset

Prix ​​et nombre de notation

Amazon product dataset

Notation et numéro d'opinion

Amazon product dataset

III-Conclusion

Nous pouvons le constater, il n'y a pas nécessairement de relation entre le prix et la note, mais plus le prix est élevé, plus la note est basse, et plus il y a d'avis, plus la note est élevée.
Ce qui semble logique, puisque si un produit est acheté beaucoup, cela signifie qu'il est populaire.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/victordalet/amazon-product-dataset-h00?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3