让人眼前一亮的数据分析的报告,竟可自动生成啊

很多朋友咨询如何制作一个大屏, 如何把数据分析的动图保存在ppt里面,如何给客户、领导分享数据报告等,答案真的五花八门。

今天我给大家说一下,我平时会如何分享数据分析报告给客户或者领导等偏向业务的人员。喜欢记得收藏、点赞、关注。

技术交流、数据分析报告完整资料,文末获取

先看效果图

图片

这是一份简单的数据分析报告,注意这个报告的特点:

  • 网页版,可以支持在线观看或者分享HTML文件

  • 标题,动图,原始数据应有尽有

  • 支持交互,比如plotly交互画面,数据支持filter等

  • 各种展现方式,数字仪表盘,动图,数据表格,描述性文字等(音频,视频)

  • 以上报告没有写一行前端代码,完全自动生成。

    扫描二维码关注公众号,回复: 14211444 查看本文章
  • 在数据分析的基础上,创建,生成,发布报告的时间大约2分钟

魔术揭秘

制作这个报告很简单:

第0步:像往常一样进行数据分析,比如导入数据到dataframe,画图采用plotly等。

import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
           size="pop", color="continent", hover_name="country",
           log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90],height=800)
        
 fig2= px.bar(df, x="continent", y="pop", color="continent",
  animation_frame="year", animation_group="country", range_y=[0,4000000000],height=800)

这样我们就有了报告的素材:原始数据df,动图fig1 和fig2,以及中国的数据,之后我们就可以设计报告了。

第1步,设计报告,一行代码,两分钟搞定

我们导入一个神器的库叫做datapane ,它可以帮我们把我们上面的素材整合成一份网页报告,整合的函数就是Report。

import datapane as dp
report = dp.Report(....

上面的报告里面,fig采用Plot来生成报告,df采用DataTable生成报告,还有标题,数字仪表也是类似的方式生成。

report = dp.Report(
    dp.Group(dp.BigNumber(
         heading="中国", 
value=2
      ),
      dp.BigNumber(
         heading="GDP", 
value="17.7万亿"),columns=2,
   ),
     dp.Group(
    dp.Plot(fig, caption="GDP增长动画"),
    dp.Plot(fig2, caption="GDP柱形图"),columns=2),
    dp.DataTable(df, caption="原始数据"),

)

第2步,生成html文件,更简单,就是save到本地即可。

report.save(path='report.html', open=True,formatting=dp.ReportFormatting(width=dp.ReportWidth.FULL))

没了,就这么简单。

总结

当然我这是简单的演示报告,复杂的报告比如各种laytout,style等都是可以设置的。

比如下面的“网站”其实也就是上面的代码自动生成的,一行Report搞定所有。

图片引自datapane官方网站:

https://datapane.com/showcase
在这里插入图片描述
在这里插入图片描述

推荐文章

完整代码、技术交流

完整代码已打包,可以按照如下方式找我

目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34160248/article/details/125055713