今天一大早,ChatGPT突然更新——
基于Python的数据分析功能,在o1和o3-mini当中也可以使用了。
OpenAI介绍,现在可以通过两款模型调用Python,完成数据分析、可视化、基于场景的模拟等任务。
量子位实测发现,虽然界面并无明显变化,但是Python的确已经在o1当中悄悄“上岗”了。
有网友评论说,这相当于是ADA(高级数据分析)功能迎来了第三个版本:
还有人评价说,o1已经从一个助理,进化成全能的数据分析Copilot了。
那么,拥有了Python这一强大武器之后的o1,在数据分析上表现究竟如何呢?我们进行了一波实测。
o1挑战Python数据分析
第一轮测试,我们整理了某架飞机近一年时间里执飞过的400多条航班记录,交给模型对其中的数据进行分析。
表面上,需要回答的问题有4个:
- 这架飞机都执飞过哪些航线,每条各执飞过多少次;
- 在每条航线中,执飞次数最多的航班号分别是多少;
- 这架飞机的实际起飞时段集中在一天中的哪段时间(以整小时统计),注意表中为UTC时间,请换算成北京时间;
- 仅考虑落地时间,这架飞机一共出现过多少次延误,平均和最长延误时间分别是多少。
但实际上,模型还需要考虑更多的事情。
第一个问题,还可以通过简单直接统计实现,第二个问题就需要根据第一个问题的结果对数据进行归类后再进行计算。
第三个问题要做的工作就更多了,需要从原始的时间数据中提取出所在的小时段,还需要进行时差换算。
最后一个问题也最复杂,需要从混杂有其他文本的结构化信息中先找出时间,然后还涉及到比较和时间差计算,计算完后还要再进行筛选和进一步统计。
最终,这四个问题,o1在调用了Python之后全都分析对了。
当然,4o也答对了这些问题,不过输出的格式不太美观。
Claude(3.7 Sonnet)这边则是闹出了一些乌龙,一开始表示自己无法打开上传的文件(可能是文件名包含中文的缘故),反复自动重试多次后,竟然自己编了一套答案出来。
属于是没活硬整了。
不过当我们去掉文件名称中的中文之后,Claude成功读取了文件,并给出了正确的结论。
测试完在问答式的任务上的表现,再来看看可视化能力。
这里我们找来了最近某班次航班的飞行记录,包含了起飞到降落过程中各时间点的位置、高度、速度、航向等信息,一共有1700余个数据点。
给出的任务则是绘制出高度和速度随时间变化的折线图,并且涉及到了时区和计量单位的换算(原始数据中时间为UTC时间、高度为英尺、速度为节,需要换算成北京时间、高度单位为米、速度单位为公里每小时)。
在分别调用Python后,o1(左)和4o(右)绘制出的图像是这样的。
这里4o的标记更加易于分辨,而o1对两条线都采用了混色绘制,有些分不清具体所指:
当然对于图线的形状来说,经过对比原始数据来源中给出的图线,结果是一致的。
Claude这边的操作更加高级,直接做成了一个可交互的网页,鼠标划过后会显示时间点对应的原始信息。
但关键的问题是,Claude在时区的转换上出了错,并且也没按要求把时间间隔较长的数据点用虚线连接。
One More Thing
除了o1和o3-mini的功能更新外,OpenAI还宣布了另一个消息——
之前Mac客户端会员专属的Work with Apps功能,现在开放给所有用户了。
该功能可以从文本编辑和IDE工具等程序中读取代码等数据,无需反复复制粘贴就能更方便地完成编程等任务。