likes
comments
collection
share

ChatGPT-4 x Noteable进行数据可视化分析实践

作者站长头像
站长
· 阅读数 2

工具:

  • 推荐GPT-4,搭配插件

    1. Noteable插件:使用Python、SQL和Markdown创建笔记本,用于探索数据、可视化,并与所有人共享笔记本

      • 在线python编辑器: noteable,类似juypter notebook
    2. WebPilot插件:Browse Webpage/PDF/Data. Chat & Write with one/many/none URLs.

ChatGPT-4 x Noteable进行数据可视化分析实践

  • ChatGPT-3.5+ new Bing或Bard 辅助亦可(利用new Bing或Bard的联网功能),手动粘贴代码到noteable运行

  • 可视化工具库:plotly

  • 数据示例:Akshare

项目示例

对股票与人民币汇率波动相关性进行分析,并生成完整的BI报告文档,以Markdown文档输出,步骤:

注册Noteable,创建项目-创建笔记文档,并开启项目权限,实现梦幻联动(如果需要gpt-4读取目录下的其他文件,也需要对对应的文件开启权限)

ChatGPT-4 x Noteable进行数据可视化分析实践

ChatGPT-4 x Noteable进行数据可视化分析实践

可预安装需要的python库,也可以由gpt-4发现问题,并在解决的过程中提供需要安装的依赖(如果已知需要使用到哪些依赖库,建议提前安装,这样后续执行起来更加顺滑,减少出错)

填入安装命令,直接点击左下角的三角形执行(或ctrl+enter)

ChatGPT-4 x Noteable进行数据可视化分析实践

使用GPT-4的插件模式(因为需要使用Noteable和联网插件WebPilot,插件最多允许选3个)

ChatGPT-4 x Noteable进行数据可视化分析实践

ChatGPT-4 x Noteable进行数据可视化分析实践

键入prompt

  • 提供参考链接、参考示例
  • 明确需求范围
  • 提供notable地址,明确操作方式(如何写入、使用的库)
  • 明确输出结果(格式、形式)
  • 提出额外的要求
    // prompt,记得替换[你的notable笔记本链接]
    参考文档:[<https://akshare.xyz>](<https://akshare.xyz/>),利用akshare库的相关方法制定股票均线策略,股票代码为600036,在[你的notable笔记本链接]中创建新的cell,使用plotly生成合适的可视化图表。获取akshare数据的过程中,如果数据获取成功并且数据内容不为空,则把原数据保存到本地,后续执行的过程中从本地读取对应的数据

关注执行过程

发现GPT-4自动往我们创建的noteable笔记本里面写入并运行代码,但是会发现可能有报错,GPT会自动发现错误,并且尝试寻找解决方案

如果gpt尝试多次都无法正确执行,则需要主动分析原因,给gpt提供更准确的资料(同时关注gpt和notable的输出)

ChatGPT-4 x Noteable进行数据可视化分析实践

主动发现错误,分析错误,结合提供的prompt,补充提供更准确的信息

通过分析,发现我的prompt存在一定的不足:

  • 没有结合官方文档的具体方法-搜索gpt提供的方法,stock_zh_a_daily,发现缺少时间范围,并且官方推荐使用另外一个方法stock_zh_a_hist
  • 没有指定时间范围
  • 即使提供了官方文档,也不一定正确“理解”,依然报错,就提供官方参考代码

补充下述内容:

参考https://akshare.xyz/data/stock/stock.html#id21,改用stock_zh_a_hist的方法来获取20100101-20231231之间的股票数据

图表成功生成了~

ChatGPT-4 x Noteable进行数据可视化分析实践

优化图表

但我发现图例是英文,于是我让gpt帮我修改图例名称或展示方式

ChatGPT-4 x Noteable进行数据可视化分析实践

也是成功~顺利得有点不敢相信haha

获取人民币汇率,与股票收盘价结合分析

吸取教训,用gpt能准确理解并输出我们想要的东西的方式去写prompt

参考下列代码:currency_boc_sina_df = ak.currency_boc_sina(symbol="美元", start_date="20230304", end_date="20230813"),获取跟上述最后一个图表同时间段的人民币【央行中间价】数据,并与上述我提供的股票的收盘价比较分析,用合适的方式可视化分析结果,增加一个图表进行展示

经历了一些拉取数据的时间,也出现了两个错误,但gpt都顺利修复了,最终输出了我想要的图表

ChatGPT-4 x Noteable进行数据可视化分析实践

有亿点点强~

获取数据会占用很多时间,当执行完后提醒gpt帮我保存数据到本地

ChatGPT-4 x Noteable进行数据可视化分析实践

基于已有的数据,提更多的需求

ChatGPT-4 x Noteable进行数据可视化分析实践

让gpt扮演专家角色进行专业分析(缩小知识范围,提高专业性和准确性)

计算股票收盘价与人民币央行中间价的相关性,并以一个专业的金融分析师的角度进行分析,形成分析报告

形成完整的数据分析文档,使用notable的publish功能进行整合,勾选需要发布的模块,如图表、markdown内容等形成一个可交互的可视化数据分析报告

ChatGPT-4 x Noteable进行数据可视化分析实践

GPT-4 x Noteable 联动的优势

  • 非专业python开发者,都能通过python实现自己想要功能
  • 联动,GPT-4能跟Noteable联动,自动写入代码块并执行,在执行遇到问题的时候gpt会发现,然后尝试找到解决办法,大多数情况能正确解决问题
  • 一键把运行结果+图表生成可交互的文档
  • 真正实现自然语言编程

劣势

费钱 o(╥﹏╥)o

与GPT沟通的技巧

  • 在多次尝试后仍然无法解决的问题,需要换一个解决思路,或者给gpt提供准确的参考资料
  • 为gpt提供参考资料的链接或文档,提高答案的准确性
  • 执行成功后把数据缓存在本地(如csv)进行读取,不用每次都重新获取,提高执行效率
  • 做好出差错的准备,跟GPT一起解决问题,而不是让万能的GPT自己想办法
  • 不要丢失自己的判断力(成龙大哥说的:不是你说什么就是什么,首先我要自己试一下)