![]()
ChatGPT 可以让任何处理数据的人的生活变得更轻松。
ChatGPT 可以做很多很酷的事情,其中之一是编写代码。
你只需给出正确的指令,ChatGPT 就会为你完成这项工作。它可以帮助你使用自然语言创建 SQL 查询,解决你的编码问题,将你的 Python 代码翻译成 R、Java、Julia 等等。
以下是如何使用 ChatGPT 进行编程和数据科学。
1、向ChatGPT提问编码问题
如果你有编码问题,你会去 StackOverflow 希望投票最多的答案之一能解决你的问题。
那么,现在您可以向 ChatGPT 提出相同的问题。比如说,我们忘记了如何在 Python 中合并字典,所以我们问
如何在 Python 中合并字典?
![]()
如图所示,除了给出正确答案外,ChatGPT 还提供了多种合并字典的方案。
但这还不是全部!你可以提出与 pandas、numpy、matplotlib 和其他数据科学库相关的问题。
2、将 Python 代码翻译成 R
假设你是一位了解 Python 并且刚接触 R 的数据科学家。如果你想将 Python 代码转换为 R,你可以询问 ChatGPT
将以下函数从 Python 翻译成 R:
def get_square ( num ):
return num * num
![]()
ChatGPT 不仅可以完成这项工作,而且还很好地解释了该功能以及如何在 R 中使用它。
对于那些几乎不知道如何打印“Hello World in R”的人来说非常有用。
但还有更多!如果你在 Python 中使用Pandas并且出于某种原因需要在 R 中复制你的工作怎么办?ChatGPT 可以助你一臂之力。
将下列函数从 Python 翻译成 R
def get_stats ( event_name ):
df_stats = df[df[ 'event_name' ]==event_name]
stats = df_stats[ 'player_id' ]
stats = stats.value_counts()return stats
![]()
看到结果后,现在你知道你可以在 R 中使用符号“$”选择列。
我甚至在 R 中测试了代码并且运行得很好。
3、自然语言转SQL查询
Open AI 声称你可以使用自然语言编写 SQL 查询。让我们来测试一下。
让我们从一个简单的查询开始。
创建 SQL 查询以查找居住在上海且年龄超过 30 岁的用户。
![]()
这只是一个简单的SQL查询,我们添加更多的条件来测试一下。
查询列出过去 3 个月雇用超过 10 名员工的部门的名称。以下 SQL 表及其属性:
# Employee (id, name, department_id)
# Department(id,name,address)
# Salary_Payments(id, employee_id, amount, date)
ChatGPT生成的SQL
SELECT d.name AS department_name
FROM Department d
JOIN Employee e ON d.id = e.department_id
JOIN Salary_Payments sp ON e.id = sp.employee_id
WHERE sp.date >= DATEADD(month, -3, GETDATE())
GROUP BY d.name
HAVING COUNT(DISTINCT e.id) > 10;
![]()
4、文本分类
我们还可以使用 ChatGPT 将文本分类为正面情绪/负面情绪
对这些文本中的情绪进行分类:
1.“我热爱我的工作”
2. “疯狂的聊天机器人!”
3.“我的狗很可爱”
4.“我讨厌吃香菜”
![]()
5、数据可视化
我们可以使用 ChatGPT 进行可视化。我们只需要指定要使用的编程语言和库。
使用 matplotlib 用 Python 绘制线性回归
![]()
ChatGPT还列出相应的步骤,最后会完整显示示例代码。
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
# 准备数据
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = np.array([2, 4, 5, 7, 8, 10, 11, 13, 14, 16])
# 训练线性回归模型并进行预测
x = x.reshape(-1, 1)
model = LinearRegression().fit(x, y)
y_pred = model.predict(x)
# 绘制数据和回归线
plt.scatter(x, y)
plt.plot(x, y_pred, color='red')
plt.show()
我复制/粘贴了代码并得到了下图。
![]()
很酷不是吗?你可以使用此聊天机器人做成百上千的事情。