如何善用chatgpt辅助资料分析与视觉化工作?python/colab 协作资料输入并产出视觉化图-凯发ag旗舰厅

2023-05-01

前言

由于现在的chatgpt 版本,属于对话型ai 工具,还无法直接输出资料视觉化图表(但... 未来就不一定了);本篇是想透过chatgpt 输入指定csv 档案资料集,并请求其输出python 程式码,并丢到colab (云端程式码执行环境)产出资料视觉化;以下是本文章完全「只」依赖chatgpt 所生成的资料视觉化图表,来源是我提供的.csv 档案,下方有对应操作过程,有兴趣的人也可尝试看看。

※图:透过chatgpt csv 档案输出的资料视觉化

ps. 本文会使用到colab 工具(可线上执行python 的环境),相关chatgpt 丢出来的程式码成果,可于此看到:https://yuyanmcn.mall.vip.webportal.top/cn/h-nd-1313.html‍

step1:连结到csv 格式资料集

本次预计使用big mac index - 大麦克指数资料集进行示范教学


大麦克指数(big mac index)是一个由经济学家发明用来衡量不同国家货币汇率与物价的指标。这个指标的计算方法是以麦当劳速食店中的大麦克汉堡价格作为基准,比较不同国家的大麦克汉堡价格之间的差异,是一个有趣和易于理解的指标。


ps. 本次主要想测试,透过chatgpt 连结csv 资料,资料集连结:

※图:原始资料来源:kaggle(

step2:写prompt

以下请chatgpt 写语法,来使用大麦克指数资料,并透过python 语言绘制出最高的前十名国家长条图,使用的prompt 如下(最后一句必须包括drive.google 要加,不然产出语法常常读不到资料):


prompt|请你用这份连结中的资料   ,撰写一段python 可以执行的资料视觉化语法,生成「date」栏位值是「2020-07-01」的资料中「dollar_price」最高的「name」长条图排行榜,x轴是「dollar_price」,y轴是「name」由最高到最低,图表标题为「2020 top 10 big mac index」。网址,必须包括drive.google


ps. 以上相关的程式码,都可以在上看到。

此外,chatgpt 也有提供针对此段程式码的解说。

step3:开启colab

生成python 语法后,接着开启google colab (

),跳出对话视窗之后,可点选「新增笔记本」。


ps. google colab 是一个线上程式码执行环境,如果不了解相关的基础,可参阅相关的文章或影片,推荐阅读:


进入colab 运作环境后,建议可以先将档案进行命名

step4:新增一个程式码段落

在google colab 新增一个程式码段落执行看看(点 程式码),从chatgpt 复制语法,贴上到google colab 的窗格中

这里想确认,真的可以透过生成的程式码,读取google drive 的资料,并产出图表吗?

step5:在colab 按下执行

接下来,可点选左方的播放按钮, 顺利成功产出我们想要的2020 大麦克指数最高的国家排行榜长条图啰!虽然图表有点阳春~但真的可以读到资料!而且真的透过我们的自然语言指令,在input 的csv 当中执行了「排序」与「过滤指定年度」的数据分析行为!

step6:尝试请chatgpt 优化资料视觉化

预设产出的长条图,比较阳春一点,如果我们来尝试不一样的视觉效果呢?先直接问问看chatgpt,能否帮我们美化呢?


prompt|能否请你根据以上的指令,修改为更好看,更美观,设计感更强的图表语法呢?


也确实得到了一段程式码,同样可在看到这段透过chatgpt 修改过的程式码。

执行后,似乎真的有得到「感觉更好看(?)」的图表(ps. 视觉的东西很主观,这个留给读者自行判断即可),但确实有相对于原版多了一点视觉修饰。

step7:决定请chatgpt 再给一次结果看看

因为前一个步骤结果不错,决定再试一次看看!


prompt|能否请你根据以上的指令,修改为更好看,更美观,设计感更强的图表语法呢?


同样执行看看

提供的结果类似,虽然有bug 出现,不过也有呈现结果。

step8:试试看用自然语言描述「风格」给chatgpt 听

玩到这里,突然又好奇,chatgpt 是否能够协助解译自然语言对于「风格」的描述呢?在实验之前是觉得有点困难的


prompt|呈上,可否帮忙用日本国旗的配色,来调整资料视觉化的呈现呢?


取得的程式码放在上。结果的呈现跟前面是类似的,确实改成了日本国旗的配色,但由于日本国旗的颜色只有红色跟白色,也导致有些bar 没有颜色。

因为考量日本国旗颜色太少颜色,我们来试试看比较多颜色的国旗,例如乌克兰国旗。


prompt|呈上,可否帮忙用乌克兰国旗的配色,来调整资料视觉化的呈现呢?



取得的程式码放在上,结果如下:

结语

本次的实验是成功的,确实可以透过chatgpt 取得云端上的.csv 档案,并根据input 给予对应的程式码,也确实可以在colab 上面执行,很有趣!若您对我的其他实验也感兴趣,欢迎阅览以下文章:

ps. 我的chatgpt / 资料视觉化线上课程

文末小工商,如果您对于chatgpt 与图表等主题感兴趣,欢迎可以参考我的线上课程:

(1)

(2)

(3)


分享
网站地图