python读取excel数据并进行数据可视化_用Python处理Excel的数据,并将之可视化

用Python代码作可视化,如果每次都在代码中以列表的形式来一个一个字符地敲,无异乎浪费时间。我们都知道,在Excel中,数据是以DataFrame(一维的Series是特殊的DataFrame)形式作存储的,而我们在代码中输入的形式一般都是手工地以list的形式来输入。有没有什么快捷的方式呢?

今天下午随意上网搜索了一下“Python 柱形图”,就发现了这篇文章(https://www.cnblogs.com/hhh188764/p/13213299.html)。经过参考,自己略作修改,于是有了这篇文章。

具体如下:

1. 先从Excel中加载数据:

# 加载数据

import pandas as pd

df = pd.read_excel(r"D:\我的文档\MySQL.xlsx", sheet_name = 1)

df

2. 简单地做一下数据清洗:

# 按 num 字段排降序

df.sort_values(by = "num",ascending = False)

3. 做可视化输出

3.1 绘制一个单系列的柱形图,简单对比一下各种水果单品的销售(数量)状况

from pyecharts.charts import Bar

from pyecharts import options as opts

c = (

#创建柱图对象,并设置大小,也可以不设置,直接使用默认大小即可

Bar(init_opts=opts.InitOpts(width="700px", height="500px"))

#设置X轴数据系列,只取前10个数据,并转为列表格式

.add_xaxis(df.goods[:10].tolist())

#设置Y轴数据系列及显示颜色,只取前10个数据,并转为列表格式

.add_yaxis("销售数量", df.num[:10].tolist())

# 设置图表标题及位置

.set_global_opts(title_opts=opts.TitleOpts(title="TOP10水果大单品的销售数量",pos_left="left"))

#通过render()方法将柱图在Web中渲染为html

# .render("柱形图.html")

)

# 直接在notebook中作渲染

c.render_notebook()

渲染效果:

3.2 绘制一个多数据系列的柱形图,以便对比观察分析各种水果的销售金额&销售数量

# 绘制的多数据系列柱形图效果是这样的:

from pyecharts.charts import Bar

from pyecharts import options as opts

c = (

#创建柱图对象,并设置大小,也可以不设置,直接使用默认大小即可

Bar(init_opts=opts.InitOpts(width="900px", height="500px"))

#设置X轴数据系列,只取前10个数据,并转为列表格式

.add_xaxis(df.goods[:10].tolist())

#设置Y轴数据系列及显示颜色,只取前10个数据,并转为列表格式

.add_yaxis("销售金额", df.money[:10].tolist())

.add_yaxis("销售数量", df.num[:10].tolist())

# 设置图表标题及位置

.set_global_opts(title_opts=opts.TitleOpts(title="TOP10水果大单品的销售业绩",pos_left="left"))

#通过render()方法将柱图在Web中渲染为html

# .render("柱形图.html")

)

# 直接在notebook中作渲染

c.render_notebook()

渲染效果:

3.3 给柱形图换颜色 color = "RGB值/十六进制颜色码/形象色/英文首字母缩写"

from pyecharts.charts import Bar

from pyecharts import options as opts

c = (

#创建柱图对象,并设置大小,也可以不设置,直接使用默认大小即可

Bar(init_opts=opts.InitOpts(width="700px", height="500px"))

#设置X轴数据系列,只取前10个数据,并转为列表格式

.add_xaxis(df.goods[:10].tolist())

#设置Y轴数据系列及显示颜色,只取前10个数据,并转为列表格式

.add_yaxis("销售数量", df.num[:10].tolist(), color = "RGB(0, 0, 255)")

# 设置图表标题及位置

.set_global_opts(title_opts=opts.TitleOpts(title="TOP10水果大单品的销售数量",pos_left="left"))

#通过render()方法将柱图在Web中渲染为html

# .render("柱形图.html")

)

# 直接在notebook中作渲染

c.render_notebook()

渲染效果:

小结:

1. 以后再也不用在代码中一个一个敲到手累了;

2. 大概今年四五月份,在我的好友“严小样儿”的微信公众号“统计与数据分析实战”见过将DataFrame转List的方法,但因为当时只是Pyecharts的小白(也是第一次在此公众号认识到pyecharts这个库,并被它的视觉冲击性给迷住,从此就在pyecharts的路上越走越远的)。只顾着囫囵吞枣地多学几个可以装X的炫酷图表,而没有细究其原理,所以基础没有真正地打扎实。这点以后确实需要注意改善!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值