如何使用python数据可视化实现数据波动趋势图形

编程入门 行业动态 更新时间:2024-10-25 16:20:40

如何使用python<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据可视化实现数据波动趋势图形"/>

如何使用python数据可视化实现数据波动趋势图形

目录

前言:数据可视化就是将数据转换成图或表等,以一种更直观的方式展现和呈现数据,让读者能“一眼看懂”你想表达的信息。通过“可视化”的方式,复杂的数据通过图形化的手段进行有效表达,准确高效、简洁全面地传递某种信息,甚至我们帮助发现某种规律和特征,挖掘数据背后的价值。

一、通过pandas库导入数据

二、对数据进行去重

三、数据加工

1.数据条件筛选

2.时间数据加工

四、重新聚合车辆季度销量

五、定位销量头部车型

六、重组数据结构

七、使用pyecharts将数据可视化


前言:

通过使用python语言能够很轻易的做出我们需要的图象,图象的生成能够直接明了的让我们了解数据,现在就让我们用本次案例来实现

其中我们需要注意几个要点:

1.导入库pandas------  pip install pandas

2.pyecharts用来实现图像------- pip install pyecharts(注意:pip版本过低可能下载不成功)


3.颜色代码,可以搜索二进制颜色,也可以参考
=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-61915567-blog-79611741.235v38pc_relevant_sort_base2&spm=1001.2101.3001.4242.1&utm_relevant_index=3

一、通过pandas库导入数据

import pandas as pddata_mpv_sale = pd.read_excel('MPV销量数据2012-2021(1).xlsx')
data_mpv_sale

二、对数据进行去重

data_mpv_sale2 = data_mpv_sale.drop_duplicates(subset=['采集时间','排名'],keep='last')
data_mpv_sale2 = data_mpv_sale2.sort_values(by=['采集时间','排名'])
data_mpv_sale2

代码运行结果:

三、数据加工

1.数据条件筛选

'201721'>'20173'data_mpv_sale3 = data_mpv_sale2[data_mpv_sale2['采集时间']>'2017']
data_mpv_sale3['车型'] data_mpv_sale3['厂商']data_mpv_sale3['车型_厂商'] = data_mpv_sale3['车型'] + '_' + data_mpv_sale3['厂商']
data_mpv_sale3

代码运行结果:

 

 

  

2.时间数据加工

data_mpv_sale4 = data_mpv_sale3.copy() # 复制一个表格对象
data_mpv_sale4['年份'] = data_mpv_sale4['采集时间'].agg(lambda x:int(x[:4]))
data_mpv_sale4['月份'] = data_mpv_sale4['采集时间'].agg(lambda x:int(x[-2:]))
def jidu(month):if month<=3:return 1elif month<=6:return 2elif month<=9:return 3else:return 4
data_mpv_sale4['季度']  = data_mpv_sale4.loc[:,'月份'].agg(jidu)
data_mpv_sale4['年份_季度'] = data_mpv_sale4['年份'].agg(lambda x:str(x)+'年') + data_mpv_sale4['季度'].agg(lambda x:str(x)+'季度')
data_mpv_sale4

代码运行结果:

四、重新聚合车辆季度销量

sale_season = data_mpv_sale4.groupby(by=['车型_厂商','年份_季度'])['销量'].sum()
sale_season

代码运行结果:

 五、定位销量头部车型

# 16年后前20名
sale_total20 = data_mpv_sale4.groupby(by=['车型_厂商'])['销量'].sum().sort_values(ascending=False)[:10].index.values
sale_total20

代码运行结果:

六、重组数据结构

# 定义时间列表
year = [2017,2018,2019,2020,2021]
season = [1,2,3,4]
list_time = []
for y in year:for s in season:if y==2021 and s>=3:breakelse:list_time.append(f'{y}年{s}季度')
list_time
# 定义字典存储20辆车的季度销量信息
sale_dict = {}
for c in sale_total20:sale_dict.setdefault(c,[]) # 创建键:c,值:[]for t in list_time:if t in sale_season[c].index:sale_dict[c].append(int(sale_season[c][t]))else:sale_dict[c].append(0) # 没有销量记录的季度需要手动填入0
sale_dict

代码运行结果:

七、使用pyecharts将数据可视化

import pyecharts.options as opts
from pyecharts.charts import Linec = (Line(init_opts=opts.InitOpts(width='800px',height='400px')).add_xaxis(xaxis_data=list_time).set_global_opts(
#         title_opts=opts.TitleOpts(title="2017-2021年MPV销量前10名车型走势"),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"), # 配置提示框yaxis_opts=opts.AxisOpts(type_="value",axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),datazoom_opts=opts.DataZoomOpts(), # 配置滑动条)
)for name,sale_list in sale_dict.items():c.add_yaxis(series_name=name, # 序列名称,由车型名称定义stack="总量", # 设置堆积图y_axis=sale_list, # 销量数据areastyle_opts=opts.AreaStyleOpts(opacity=0.5), # 设置面积图label_opts=opts.LabelOpts(is_show=False),is_smooth = True, # 显示平滑曲线)
c.render_notebook()
# c.render('2017-2021年MPV销量前10名车型走势.html')

 代码运行结果:

 小tips:

stack:所有stack的值设置成一样即可以转换成堆积图

areastyle_opts=opts.AreaStyleOpts(opacity=0.5):设置成面积图,50%透明度

可以参考这里:DocumentDescription

好啦!到这里就可以实现案例--MPV车型销量销量堆积面积图。

需要数据的可以评论说哈!感谢观看

更多推荐

如何使用python数据可视化实现数据波动趋势图形

本文发布于:2024-03-09 11:09:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724812.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   如何使用   图形   趋势   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!