"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Amazon 제품 데이터 세트

Amazon 제품 데이터 세트

2024-08-29에 게시됨
검색:666

안녕하세요. Kaggle에서 Amazon 제품 데이터세트를 발견하고 가격과 별점 사이의 관계를 찾아보기로 했습니다.

전체 코드:
https://github.com/victordalet/Kaggle_analytic/tree/feat/amazon_products


I - 데이터 준비

이를 위해 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()

II - 결과

가격 및 표기

Amazon product dataset

가격과 표기수

Amazon product dataset

표기 및 의견 수

Amazon product dataset

III - 결론

가격과 평점 사이에 반드시 관계가 있는 것은 아니지만, 가격이 높을수록 평점은 낮아지고, 리뷰가 많을수록 평점은 높아집니다.
제품이 많이 구매된다는 것은 그 제품이 인기가 있다는 것을 의미하기 때문에 논리적으로 보입니다.

릴리스 선언문 이 기사는 https://dev.to/victordalet/amazon-product-dataset-h00?1에 복제되어 있습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3