嗨,我在 kaggle 中找到了亚马逊产品的数据集,并决定找到价格和星级之间的关系。
完整代码:
https://github.com/victordalet/kaggle_analysis/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 - 结果
价格和符号
价格和符号数量
注释和意见数量
三、结论
我们可以看到,价格和评分之间没有必然的关系,但是价格越高,评分越低,评论越多,评分越高。
这似乎很合乎逻辑,因为如果一种产品被购买很多,就意味着它很受欢迎。
以上就是亚马逊产品数据集的详细内容,更多请关注本网内其它相关文章!