不会写代码也能跑分析:用ChatGPT生成数据脚本(Python/R/SQL)

即使你不熟悉编程,也可以借助 ChatGPT 快速生成并运行数据分析脚本。下面我将分三步介绍思路与示例,并给出几种典型场景下的 Python、R、SQL 脚本模板。


一、通用流程

  1. 明确分析目标
    • 你要回答什么问题?(如:销售趋势、用户画像、异常点检测……)
    • 需要用到哪些数据?(CSV/Excel 文件、数据库、API……)
  2. 向 ChatGPT 提示(Prompt)
    • 说明数据来源、格式、分析需求、输出形式(图表?统计表?报告?)
    • 举例:
      我有一个名为 sales.csv 的文件,包含日期、产品、销量三列。请帮我写一个 Python 脚本:
      1. 读取数据  
      2. 按月汇总销量  
      3. 画出折线图  
      4. 输出汇总结果到 new_sales.csv
      
  3. 复制并运行脚本
    • 在你常用的环境中粘贴运行:
      • Python:Jupyter Notebook / VS Code / PyCharm
      • R:RStudio / R Markdown
      • SQL:DBeaver / DataGrip / MySQL Workbench
  4. 检视结果并迭代
    • 如果出错,复制报错信息继续询问 ChatGPT;
    • 对图表或输出不满意,也可再让 ChatGPT 调整。

二、示例脚本

1. Python(Pandas + Matplotlib)

import pandas as pd
import matplotlib.pyplot as plt

# 1. 读取数据
df = pd.read_csv('sales.csv', parse_dates=['date'])

# 2. 按月汇总
df['month'] = df['date'].dt.to_period('M')
monthly = df.groupby('month')['sales'].sum().reset_index()
monthly['month'] = monthly['month'].dt.to_timestamp()

# 3. 画折线图
plt.figure(figsize=(8, 4))
plt.plot(monthly['month'], monthly['sales'], marker='o')
plt.title('Monthly Sales Trend')
plt.xlabel('Month')
plt.ylabel('Sales')
plt.grid(True)
plt.tight_layout()
plt.savefig('monthly_sales.png')

# 4. 输出结果
monthly.to_csv('monthly_sales_summary.csv', index=False)
print('完成:已生成 monthly_sales.png 和 monthly_sales_summary.csv')

2. R(Tidyverse + ggplot2)

library(readr)
library(dplyr)
library(ggplot2)
library(lubridate)

# 1. 读取数据
df <- read_csv('sales.csv', col_types = cols(date = col_date()))

# 2. 按月汇总
monthly <- df %>%
  mutate(month = floor_date(date, 'month')) %>%
  group_by(month) %>%
  summarise(total_sales = sum(sales, na.rm = TRUE))

# 3. 画折线图
p <- ggplot(monthly, aes(x = month, y = total_sales)) +
  geom_line() + geom_point() +
  labs(title = 'Monthly Sales Trend',
       x = 'Month', y = 'Sales') +
  theme_minimal()
ggsave('monthly_sales.png', p, width = 8, height = 4)

# 4. 输出结果
write_csv(monthly, 'monthly_sales_summary.csv')
cat('完成:已生成 monthly_sales.png 和 monthly_sales_summary.csv\n')

3. SQL(假设表名 sales,字段 sale_date, product, amount

-- 1. 按月汇总销量
SELECT
  DATE_FORMAT(sale_date, '%Y-%m-01') AS month_start,
  SUM(amount) AS total_sales
FROM sales
GROUP BY month_start
ORDER BY month_start;

-- 2. 如果想把结果写到新表
CREATE TABLE monthly_sales AS
SELECT
  DATE_FORMAT(sale_date, '%Y-%m-01') AS month_start,
  SUM(amount) AS total_sales
FROM sales
GROUP BY month_start
ORDER BY month_start;

三、常见提示(Prompt)范例

  • 图表类型
    • “请帮我画出……的柱状图/饼图/散点图/热力图”
  • 统计分析
    • “请计算平均值、中位数、标准差,并输出为报告”
  • 数据清洗
    • “帮我剔除缺失值、格式化日期、删除重复行”
  • 数据库交互
    • “给出 Python 连接 MySQL 的示例,并执行上述 SQL 查询”

小贴士

  • 先用简短测试数据验证脚本,确认无误后再用全量数据。
  • 运行脚本前,先在环境里 pip install pandas matplotlibinstall.packages("tidyverse")
  • 报错时,把完整错误消息贴给 ChatGPT,通常能快速定位与修复。

通过以上流程和范例,即使零基础,也能流畅地借助 ChatGPT 生成并运行数据分析脚本。祝你分析顺利!

标签



热门标签