【python数据分析】对乐高、奥特曼、高达进行分析,看看哪个卖的最好

news2025/2/26 9:33:54

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

前期准备

软件:

Jupyter Notebook:

是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。

Jupyter Notebook是IPython项目的一个派生项目,IPython项目本身曾经有一个IPython Notebook项目。后来从中拆分出去,叫做Jupyter Notebook。

数据准备:

代码展示

导入库

import pandas as pd 
import pyecharts.options as opts
from pyecharts.charts import *
from pyecharts.globals import ThemeType#设定主题
from pyecharts.commons.utils import JsCode

读取文件

df1 = pd.read_csv(r'京东-乐高.csv', engine='python', encoding='utf-8-sig')
df2 = pd.read_csv(r'6K高达.csv', engine='python', encoding='utf-8-sig')
df3 = pd.read_csv(r'6K奥特曼.csv', engine='python', encoding='utf-8-sig')
df1.head(1)

df2.head(1)
df3.head(1)
df_all = pd.concat([df1,df2,df3])
df_all.info()

去除重复值

df_all.drop_duplicates(inplace=True)

删除不必要的列

df_all = df_all.drop(['商品SKU','商品链接','封面图链接','评论链接','店铺链接','页码','当前时间','页面网址'],axis=1)
df_all.head(1)

筛选剔除广告

df_all = df_all[df_all['是否广告'] == '否']

重置索引

df_all = df_all.reset_index(drop=True)
df_all.info()

商家上线的商品数目Top20

shopname = df_all.groupby('商家店名')['商品名称'].count().sort_values(ascending=False).head(20)
shopname

绘制商家上线的商品数目Top20柱状图

bar1 = (
    Bar(init_opts=opts.InitOpts(theme='dark', width='1000px',height ='500px'))
    .add_xaxis(shopname.index.tolist())
    .add_yaxis("",shopname.values.tolist())
    .set_series_opts(
        label_opts=opts.LabelOpts(
                is_show=True, 
                position='insideRight',
                font_style='italic'
            ),
        源码、解答、教程+VX:qian97378
        itemstyle_opts=opts.ItemStyleOpts(
            color=JsCode(
                """new echarts.graphic.LinearGradient(1, 0, 0, 0, 
                 [{offset: 0,color: 'rgb(255,99,71)'}, {offset: 1,color: 'rgb(32,178,170)'}])"""
            )
        )
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="商家上线的商品数目Top20"),
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
        legend_opts=opts.LegendOpts(is_show=True))
    .reversal_axis()
)
bar1.render_notebook()

总体价格区间

def tranform_price(x):
    if x <= 100.0:
        return '0~100元'
    elif x <= 500.0:
        return '101~500元'
    elif x <= 2000.0:
        return '501~2000元'
    elif x <= 5000.0:
        return '2001~5000元'
    elif x <= 10000.0:
        return '5001~10000元'
    else:
        return '10000以上'
df_all['分级'] = df_all["价格"].apply(lambda x:tranform_price(x))

price_score = df_all['分级'].value_counts()
print(price_score)
datas_pair = [(i, int(j)) for i, j in zip(price_score.index, price_score.values)]
print(datas_pair)
pie1 = (
    Pie(init_opts=opts.InitOpts(theme='dark',width='1000px',height='600px'))
    
    .add('', datas_pair, radius=['35%', '60%'])
    .set_global_opts(
        title_opts=opts.TitleOpts(title='不同价格区间的销售额整体表现'), 
        legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%')
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%"))
    .set_global_opts(
        title_opts=opts.TitleOpts(
            # 源码、解答、教程+VX:qian97378
            title="乐高、奥特曼、高达\n\n价格区间", 
            pos_left='center', 
            pos_top='center',
            title_textstyle_opts=opts.TextStyleOpts(
                color='#F0F8FF', 
                font_size=20, 
                font_weight='bold'
            ),
        )
    )
    .set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF', '#7FFFAA'])
)
pie1.render_notebook() 

单价最高的商品Top20

#单价最高的商品
price_top = df_all.groupby('商品名称')['价格'].sum().sort_values(ascending=False).head(20)
price_top

单价最高的商品详细柱状图

bar=(
    Bar(init_opts=opts.InitOpts(height='500px',width='1000px',theme='dark'))
    .add_xaxis(price_top.index.tolist())
    .add_yaxis(
        '单价最高的商品',
        price_top.values.tolist(),
        label_opts=opts.LabelOpts(is_show=True,position='top'),
        itemstyle_opts=opts.ItemStyleOpts(
            color=JsCode("""new echarts.graphic.LinearGradient(
            0, 0, 0, 1,[{offset: 0,color: 'rgb(255,99,71)'}, {offset: 1,color: 'rgb(32,178,170)'}])
            """
            )
        )
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title='单价最高的商品详细柱状图'),
            xaxis_opts=opts.AxisOpts(name='玩具名称',
            type_='category',                                           
            axislabel_opts=opts.LabelOpts(rotate=90),
        ),
        yaxis_opts=opts.AxisOpts(
            name='单价/元',
            min_=0,
            max_=39980.0,
            源码、解答、教程+VX:qian97378
                        splitline_opts=opts.SplitLineOpts(is_show=True,linestyle_opts=opts.LineStyleOpts(type_='dash'))
        ),
        tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross')
    )

    .set_series_opts(
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_='average',name='均值'),
                opts.MarkLineItem(type_='max',name='最大值'),
                opts.MarkLineItem(type_='min',name='最小值'),
            ]
        )
    )
)
bar.render_notebook()

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于K-最近邻算法构建鸢尾花分类模型

基于K-最近邻算法构建鸢尾花分类模型 一 任务描述 鸢尾花&#xff08;Iris&#xff09;数据集是机器学习中一个经典的数据集。假设有一名植物学爱好者收集了150朵鸢尾花的测量数据&#xff1a;花瓣的长度和宽度以及花萼的长度和宽度&#xff0c;这些花已经鉴定为属于Setosa、…

多线程 之 CAS与synchronized的优化过程

前言 本篇介绍什么是CAS与synchronized的优化过程&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录前言1. 什么是CAS&#xff1f;2. CAS实现的操作2.1 实现原子类2.2 实现自旋锁3. CAS的aba问题4. synchr…

QT桌面的构建

文章目录 前言一、按键类的创建二、按键样式设计三、详细代码讲解总结前言 本篇文章开始我将带大家构建一个属于自己的QT桌面,这个桌面将适用于ARM和Linux等。 一、按键类的创建 首先我们需要创建一个按键类,这个按键类需要包含一个按键和一个lable用来显示按键的名字。 效…

2022MathorCup赛题B

以下所有文字均基于作者的实际经验&#xff0c;并不具有完全的合理性&#xff0c;请谨慎参考 目录 一、问题分析 &#xff08;一&#xff09;问题一 &#xff08;二&#xff09;问题二 二、预处理 &#xff08;一&#xff09;训练集预处理 &#xff08;二&#xff09;测…

逻辑回归预测泰坦尼克号乘客生存率

逻辑回归预测泰坦尼克号乘客生存率 描述 RMS泰坦尼克号的沉没是历史上最臭名昭着的沉船之一。1912年4月15日&#xff0c;在她的处女航中&#xff0c;泰坦尼克号在与冰山相撞后沉没&#xff0c;在2224名乘客和机组人员中造成1502人死亡。这场耸人听闻的悲剧震惊了国际社会&…

Segment Anything文章要点

核心方法: 1. 数据 Unfortunately, there is no web-scale data source for segmentation; to address this, we build a “data engine” 没有大规模的数据源用于分割; 为了解决这个问题&#xff0c;我们构建了一个“数据引擎” We iterate between using our efficient mo…

SpringBoot整合MongoDB

参考链接 https://www.mongodb.org.cn/ 文章目录一、前言1.1 NoSQL介绍1.1.1 NoSQL 数据库分类1.1.2 NoSQL的优点/缺点1.1.3 BASE1.2 MongoDB介绍1.2.1 MongoDB和SQL对比1.2.2 数据库1.2.3 元数据1.2.4 MongoDB 数据类型二、SpringBoot整合MongDB2.1 环境配置2.2 MongoTemplate…

chatGPT如何助力devops

随着软件开发行业的不断发展&#xff0c;DevOps已成为软件开发的主流方法。DevOps是一种将开发和运维工作结合起来的实践&#xff0c;旨在提高软件交付速度和质量&#xff0c;以及优化整个软件开发过程。最近&#xff0c;聊天机器人技术的崛起为DevOps带来了全新的变革&#xf…

【MySQL】(1)数据库基础,库与表的增删查改,数据库的备份与还原

文章目录服务器&#xff0c;数据库&#xff0c;表关系MySQL 数据存储逻辑SQL 分类存储引擎库的操作查看数据库创建数据库查看创建语句删除数据库选择&#xff08;切换&#xff09;数据库查看当前选择的数据库修改数据库字符集和排序规则表的操作创建表查询表查询表结构插入数据…

2、Git使用不完全指南:Git客户端的使用及使用Token认证方式提交代码详解(详细图文)

本篇介绍如何在Windows、Linux下安装Git客户端以及从远程代码仓库拉取代码。以及介绍2023如何从GitHub上获取Token令牌、使用Pycharm通过Token令牌从本地push上传仓库的方法&#xff0c;用来解决推送代码报Push failed The requested URL returned error:403的错误问题。 安装…

通讯录的实现(初级版本)

思维导图&#xff1a; 目录 思维导图&#xff1a; ​编辑 一&#xff0c;实现通讯录的第一步——实现逻辑 二&#xff0c;头文件内实现的内容 三&#xff0c;contect.c文件内的函数定义 3.1初始化通讯录:void InitContect(cotect*pc) 3.2:实现通讯录内容的增加&#xff…

投稿指南【NO.14】SCI期刊推荐(mdpi旗下)

写在前面&#xff1a;SCI论文发表是我国高校机构与基地评估、成果评奖、项目立项、人才培养等方面的重要考核指标&#xff0c;更不要要说关系到我们个人的毕业、晋升和前途。SCI含金量之高&#xff0c;要是读研读博科研工作期间能发表&#xff0c;将对直博、找工作、国奖申请、…

04 | 连接池:别让连接池帮了倒忙

04 | 连接池&#xff1a;别让连接池帮了倒忙 连接池一般对外提供获得连接、归还连接的接口给客户端使用&#xff0c;并暴露最小空闲连接数、最大连接数等可配置参数&#xff0c;在内部则实现连接建立、连接心跳保持、连接管理、空闲连接回收、连接可用性检测等功能。 注意鉴…

MySQL 主从同步及延迟原因分析

主从同步的基本原理 MySQL主从同步步骤详见 MySQL binlog模式及主备的基本原理 谈到主备的并行复制能力&#xff0c;我们要关注的是图中黑色的两个箭头。一个箭头代表了客户端写入主库&#xff0c;另一箭头代表的是从库上sql_thread执行中转日志&#xff08;relay log&#xff…

《Squeeze-and-Excitation Networks》

Squeeze-and-Excitation Networks1. 摘要2. 介绍3. 网络设计4. 代码实现1. 摘要 卷积操作可以使网络通过在每层的局部感受野内融合空间和通道级信息以构建信息特征&#xff1b;空间信息尝试通过加强CNN整个特征层次的空间编码质量以加强CNN的表示能力&#xff1b;本文主要聚焦…

【计算机网络-应用层】万维网

文章目录1 统一资源定位符 URL2 万维网文档2.1 超文本标记语言 HTML2.2 层叠样式表 CSS2.3 JavaScript3 超文本传输协议 HTTP3.1 HTTP 报文格式3.1.1 HTTP 请求报文3.1.2 HTTP 响应报文3.2 HTTP 的工作过程3.2.1 HTTP/1.03.2.2 HTTP/1.13.2.3 相关例题4 Cookie1 统一资源定位符…

如何从根本上防止服务器被攻击

随着互联网的发展&#xff0c;服务器成为了企业和个人网络应用的重要基础设施。但是&#xff0c;随之而来的网络安全威胁也在不断增加&#xff0c;服务器安全问题也成为了影响企业信息安全的重要因素。针对这种情况&#xff0c;服务器安全防御变得尤为重要。   服务器安全防御…

6.Swagger的实战使用

六.Swagger的实战使用 1.什么是swagger 2.swagger的基本使用 3.swagger实战使用 六.Swagger的实战使用 1.什么是swagger swagger是后端接口文档的生成并且提供ui界面进行测试过去用postman测试 缺点&#xff1a;需要自己写地址&#xff0c;如果项目变了需要自己更改 2.sw…

CF区间DP作业题解

1. Recovering BST 由于互质关系不是传递的&#xff0c;所以尽量挂在树的最下面&#xff0c;刚好构成二叉树 f[i][j][0]f[i][j][0]f[i][j][0] 表示区间 [i,j][i,j][i,j] 以 iii 为根&#xff0c;是否可以构成一棵树。 f[i][j][1]f[i][j][1]f[i][j][1] 表示区间 [i,j][i,j][i,j…

Spring理论学习

1、什么是IOC IoC&#xff08;Inversion of Control:控制反转&#xff09; 是一种设计思想&#xff0c;而不是一个具体的技术实现。IoC 的思想就是将原本在程序中手动创建对象的控制权&#xff0c;交由 Spring 框架来管理。不过&#xff0c; IoC 并非 Spring 特有&#xff0c;…