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
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 :
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()
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.
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