ChatGPT在数据处理中的应用
今天的这篇文章,让我不断体会AI的强大,愿人类社会在AI的助力下走向更加灿烂辉煌的明天。
扫描下面二维码注册
数据处理是贯穿整个数据分析过程的关键步骤,主要是对数据进行各种操作,以达到最终的分析目的。数据处理主要包括以下几部分。
1.1 概览数据
接下来的操作基于示例表的样例数据展开。这是一个简短的订单明细表,包含订单ID、用户ID、产品ID、订单日期、用户性别、用户年龄这几列。我们先对这份数据进行概览。
订单ID | 用户ID | 产品ID | 订单日期 | 用户性别 | 用户年龄 |
---|---|---|---|---|---|
1001 | 101 | 10001 | 2023-04-01 | 男 | 28 |
1002 | 102 | 10002 | 2023-04-01 | 女 | |
1003 | 103 | 10003 | 2023-04-01 | 男 | 22 |
1004 | 104 | 10001 | 2023-04-01 | 女 | |
1005 | 105 | 10002 | 2023-04-01 | 男 | 45 |
1006 | 106 | 10003 | 2023-04-01 | 女 | 32 |
1007 | 101 | 10001 | 2023-04-02 | 男 | 28 |
1008 | 102 | 10002 | 2023-04-02 | 女 | 35 |
1009 | 103 | 10003 | 2023-04-02 | 男 | 22 |
1010 | 104 | 10001 | 2023-04-02 | 女 | 45 |
此表格由[小蜜蜂AI网站][https://zglg.work]生成。
1.1.1 ChatGPT帮我做
来看第一种实现方式。只需把数据传给ChatGPT,并发出明确的操作指令即可。源数据一般是CSV格式的,我们需要将其以文本格式传入ChatGPT。下面我们向ChatGPT输入具体操作和数据集。
在输入数据时,我们要将CSV文件转换成可以直接输入ChatGPT中的格式。只需将CSV文件用记事本或文本编辑器打开,然后复制粘贴即可。
按照上面的指令,ChatGPT返回如下表所示的结果。
统计指标 | 订单ID | 用户ID | 产品ID | 用户年龄 |
---|---|---|---|---|
数据类型 | 整数 | 整数 | 整数 | 整数 |
非空值个数 | 10 | 10 | 10 | 8 |
均值 | 1005.5 | 102.5 | 10002 | 34.25 |
中位数 | 1005.5 | 102.5 | 10002 | 33.5 |
最小值 | 1001 | 101 | 10001 | 22 |
最大值 | 1010 | 104 | 10003 | 45 |
标准差 | 2.87 | 1.29 | 0.82 | 7.79 |
注:订单日期和用户性别列属于文本型数据,无法进行数值统计。
1.1.2 ChatGPT告诉我
来看第二种实现方式,问ChatGPT用什么工具可以及如何实现某个需求。我们需要把数据结构以及具体需求描述清楚,然后发送给ChatGPT。在Excel中概览数据比较简单,这里不展开了,而主要展示在SQL和Python中如何实现。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容以后,返回如下结果。
-- SQL结果
SELECT
COUNT(order_id) AS non_null_order_id_count, COUNT(DISTINCT user_id) AS non_null_user_id_count,
COUNT(DISTINCT product_id) AS non_null_product_id_count,
AVG(order_date) AS avg_order_date,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY order_date) AS median_order_date,
MIN(order_date) AS min_order_date,
MAX(order_date) AS max_order_date,
AVG(user_age) AS avg_user_age,
STDDEV(user_age) AS stddev_user_age
FROM
orders;
import pandas as pd
order_df = pd.read_csv('order.csv')
result = order_df.describe().transpose()
result['non_null'] = order_df.count()
print(result[['non_null', 'mean', '50%','min', 'max', 'std']])
# 运行结果如下:
non_null mean 50% min max std
订单ID 10 1005.500000 1005.5 1001.0 1010.0 3.027650
用户ID 10 103.100000 103.0 101.0 106.0 1.663330
产品ID 10 10001.900000 10002.0 10001.0 10003.0 0.875595
用户年龄 9 32.444444 32.0 22.0 45.0 8.560244
Process finished with exit code 0
在SQL结果中,我没有实际去验证。在Python结果中,使用了describe函数,还是很不错的。我们在Python中概览数据时,就是使用该函数。但是describe函数的结果中已经包含了非空值计数,而ChatGPT又单独计算了一次。
1.2 数据预处理
数据预处理主要包括缺失值填充、重复值删除、异常值删除或替换。接下来看看ChatGPT如何帮助我们完成这项工作。
1.2.1 ChatGPT帮我做
第一种实现方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,给出如下的Python处理代码及结果。
import pandas as pd
import numpy as np
# 创建数据集
data = {
'订单ID': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010],
'用户ID': [101, 102, 103, 104, 105, 106, 101, 102, 103, 104],
'产品ID': [10001, 10002, 10003, 10001, 10002, 10003, 10001, 10002, 10003, 10001],
'订单日期': ['2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-02', '2023-04-02', '2023-04-02', '2023-04-02'],
'用户性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'],
'用户年龄': [28, 35, 22, np.nan, 45, 32, 28, 35, 22, 45]}
df = pd.DataFrame(data
发布者:admin,转转请注明出处:http://www.yc00.com/web/1754885698a5212686.html
评论列表(0条)