ChatGPT 代码解释器:它如何节省我的工作时间

简介: ChatGPT 代码解释器:它如何节省我的工作时间

2023 年 7 月 6 日,OpenAI 宣布 Code Interpreter 将在下周向 ChatGPT Plus 用户提供。它可能是增强 ChatGPT 功能的所有插件中最出色的。

代码解释器运行代码并允许上传数据,因此您可以使用它进行数据清理、分析、可视化和许多其他操作。它就像一个触手可及的数据分析师。

听起来太酷了?让我们继续。

我用它来完成一项任务,这可能需要几个小时才能完成。根据您的任务以及对 Python 库的熟悉程度,此任务甚至可能需要更长时间。

使用 ChatGPT,我只需编写几句话并上传两个 CSV 文件。

我将逐步引导您完成整个过程,以及代码解释器在各种任务(例如理解数据、清理和预处理数据以及创建数据可视化)方面的令人印象深刻的表现。

您需要先启用它

为了在聊天中使用代码解释器,您需要首先通过设置启用它。


如何启用代码解释器(作者提供的图片)


现在,当您开始新的聊天时,它就可用了。

任务

我打算创建一个世界地图可视化,用点的大小指示国家/地区,这些点的大小与国家/地区的人口成正比。

我有两个数据集,一个用于国家人口,另一个用于纬度和经度位置。

您可以轻松地在线找到这些数据集。

开始吧…

由于这是一项简单的任务,我没有花太多时间在即时工程上。这是我向 ChatGPT 请求的第一句话:




您可以使用提示窗口左侧的加号来上传数据集。




它首先读取数据集,这是显而易见的事情。还没有令人印象深刻!

# 由代码解释器生成的代码
import pandas as pd

# 将 CSV 数据加载到 pandas DataFrame中
population_data = pd.read_csv( '/mnt/data/country_population_historic.csv' )

# 显示DataFrame的前几行
population_data.head()

然后,ChatGPT 询问国家/地区位置:




我已经有了数据,所以我上传了它:


(图片由作者提供)


# Code Interpreter 生成的代码
# 加载国家坐标数据
country_coordinates = pd.read_csv( '/mnt/data/country_coordinates.csv' )

# 显示前几行
country_coordinates.head()

数据清洗和预处理

读取数据后的下一步是清理和预处理。我相信您已经听过很多次了,这一步通常需要花费最多的时间。

在创建世界地图可视化之前需要处理一些问题。ChatGPT 检测到它们并在不到一分钟的时间内提供了解决方案。相当令人印象深刻!


(图片由作者提供)


上面代码片段中的代码:

# 由代码解释器生成的代码
# 检查两个数据帧中的国家/地区名称是否一致
population_countries = set (population_data[ 'Country Name' ])
Cocoles_countries = set (country_coordinates[ 'name' ])

# 人口数据中但不在人口数据中的国家坐标数据
missing_in_cooperatives = Population_countries - Cocoles_countries

# 坐标数据中但不在人口数据中的国家
missing_in_population = Cocoles_countries - Population_countries

坐标数据集中缺少一些国家,人口数据集中也缺少一些国家。

ChatGPT 在上面的代码片段中做了什么:

  • 在两个数据集中创建国家/地区名称的 Python 集
  • 单独比较它们以找出集合中的差异

ChatGPT 不到一分钟就解决了这个问题:



上面代码片段中的代码:

# 由代码解释器生成的代码
# 将国家名称从人口数据集映射到坐标数据集
country_name_mapping = { 
    'Bahamas, The' : 'Bahamas' , 
    'Brunei Darussalam' : 'Brunei' , 
    'Cabo Verde' : 'Cape Verde',
    '刚果,民主党。众议员。” : '刚果[刚果民主共和国]' , 
    '刚果共和国' : '刚果[共和国]' , 
    "科特迪瓦" : "科特迪瓦" , 
    '捷克' : '捷克共和国' , 
    '埃及, 阿拉伯代表” :“埃及”,
    “冈比亚”:“冈比亚”、
    “中国香港特别行政区”:“香港”、
    “伊朗伊斯兰共和国” :“伊朗”、
    “韩国、民主党、人民代表” :“朝鲜”、
    “韩国” :“韩国”、
    “吉尔吉斯共和国”:“吉尔吉斯斯坦”、
    “老挝人民民主共和国”:“老挝”、
    “中国澳门特别行政区”:“澳门”、
    “密克罗尼西亚联邦”。圣。' : '密克罗尼西亚' ,
    : '马其顿 [前南斯拉夫马其顿共和国]' , 
    '俄罗斯联邦' : '俄罗斯' , 
    '圣多美和普林西比' : '圣多美和普林西比' , 
    '斯洛伐克共和国' : '斯洛伐克' , 
    '阿拉伯叙利亚共和国' : '叙利亚' , 
    '土耳其' : '土耳其' , 
    '委内瑞拉,RB' : '委内瑞拉' , 
    '也门共和国' : '也门' , 
    '斯威士兰' :
: Country_name_mapping}) 
# 删除坐标数据集中不存在的行
population_data_clean = Population_data_clean[population_data_clean[ 'Country Name' ].isin(coordinates_countries)] 
# 将人口数据与国家坐标数据
合并 merged_data = pd.merge(population_data_clean , Country_coordinates, left_on= 'Country Name' , right_on= 'name' ) 
# 仅保留必要的列
merged_data = merged_data[[ 'Country Name' , '2022' , 'latitude' , 'longitude' ]] 
# 重命名列清晰度
合并数据。列 = [ '国家', '人口' , '纬度' , '经度' ] 
merged_data.head()



现在我们的数据格式良好且干净。此步骤通常需要花费大量时间和人力。ChatGPT 大约一分钟就完成了。

创建可视化

ChatGPT 首先尝试使用 Matplotlib 库来完成此任务。然而,由于没有世界地图图像,它未能做到这一点:


(图片由作者提供)


然后,我只是要求它使用 Plotly,这也是我一开始的想法。


(图片由作者提供)

(图片由作者提供)


上面代码片段中的代码:

# 由代码解释器生成的代码importplotly.graph_objects 
as go #
创建散点地理图
Fig = go.Figure(data=go.Scattergeo( 
    lon = merged_data[ 'Longitude' ], 
    lat = merged_data[ 'Latitude' ], 
    text = merged_data[ '国家' ] + ': ' + merged_data[ '人口' ].astype( str ), 
    mode = '标记' ,
    标记 = dict (
        大小 = (merged_data[ '人口' ] / 1000000 ) ** 0.5 ,  # 取平方根以更好地可视化差异
        sizemode = 'diameter' , 
        sizeref = 1 , 
        sizemin = 4 , 
        color = merged_data[ 'Population' ], 
        colorscale = 'Viridis' , 
        colorbar_title = "Millions" , 
    ) ) 
) 
# 更新布局
Fig.update_layout( 
    title_text = '2022 年世界人口' , 
    geo = dict ( 
        showframe = False , 
        showcoastlines = True ,
        投影类型 = '等矩形'
     ) 
) 
Fig.show()

最后的话

我们所做的:

  • 读取数据集
  • 清理、预处理并合并它们
  • 创建交互式数据可视化

我们所要做的就是写两个句子(加上告诉 ChatGPT 使用 Plotly)。我认为这非常令人印象深刻!


相关文章
|
7月前
|
Java API Spring
使用 Java 代码调用 openAI 的 ChatGPT API
使用 Java 代码调用 openAI 的 ChatGPT API
197 0
|
1月前
|
存储 机器学习/深度学习 人工智能
基于Nvidia的ChatGPT实现智能回答(附完整代码)
基于Nvidia的ChatGPT实现智能回答(附完整代码)
|
2月前
|
人工智能 API UED
汇总:5个国产版chatgpt中文网站,可用来写代码文章小说
目前已经有一些替代方案,使得中国用户也能够在国内网络条件下使用ChatGPT。这些站点通过调用ChatGPT的API接口,实现了对语言模型的调用,为用户提供了类似于原版ChatGPT的功能和体验。
|
3月前
|
JavaScript 前端开发 Python
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
25 0
|
7月前
|
SQL 人工智能 中间件
每日一个 ChatGPT 使用小技巧系列之4:使用 AI 工具对 SAP ABAP 代码的编写质量进行打分
每日一个 ChatGPT 使用小技巧系列之4:使用 AI 工具对 SAP ABAP 代码的编写质量进行打分
77 0
|
8月前
|
人工智能 自然语言处理 Java
当代码遇见AI:IDEA开启ChatGPT插件,分分钟成为高效程序猿!
当代码遇见AI:IntelliJ IDEA开启ChatGPT插件,分分钟成为高效程序猿!
1315 0
|
9月前
|
数据采集 自然语言处理 数据可视化
使用 ChatGPT 的代码解释器进行数据科学的 5 种方法
借助代码解释器,ChatGPT 现在可以编写和执行 Python 代码来自动执行复杂的数据任务并生成可视化。
152 0
|
9月前
|
XML 人工智能 JSON
ChatGPT最强竞品Claude2来了:代码、GRE成绩超越GPT-4,免费可用
ChatGPT最强竞品Claude2来了:代码、GRE成绩超越GPT-4,免费可用
228 0
|
10月前
|
人工智能
能编代码、Ai聊天??火爆全球的 ChatGPT 到底是什么?
能编代码、Ai聊天??火爆全球的 ChatGPT 到底是什么?
172 0
|
28天前
|
人工智能 IDE Linux
chatgpt的ai编程工具
该内容是关于两个chatgpt的ai编程工具的安装和使用说明。Copilot的下载步骤包括在IDE的设置中搜索并安装插件,然后重启IDE并登录GitHub账户。使用时,通过写注释触发建议,用快捷键选择建议。启用或禁用Copilot可通过底部状态图标。另一个工具是Alibaba Cloud AI Coding Assistant (Cosy),同样在IDE的插件市场下载安装后重启。其详细使用方法建议参考官网。
29 0