안녕하세요. Kaggle에서 Amazon 제품 데이터세트를 발견하고 가격과 별점 사이의 관계를 찾아보기로 했습니다.
전체 코드:
https://github.com/victordalet/Kaggle_analytic/tree/feat/amazon_products
이를 위해 SQLAlchemy를 사용하여 csv 파일을 작은 데이터베이스로 변환하고 정보를 플롯으로 표시합니다.
pip install SQLAlchemy pip install plotly
다음 스크립트에서는 데이터를 추출하여 다음을 얻습니다.
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()
가격과 평점 사이에 반드시 관계가 있는 것은 아니지만, 가격이 높을수록 평점은 낮아지고, 리뷰가 많을수록 평점은 높아집니다.
제품이 많이 구매된다는 것은 그 제품이 인기가 있다는 것을 의미하기 때문에 논리적으로 보입니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3