ChatGPT在数据处理中的应用(二)

简介: ChatGPT在数据处理中的应用(二)

接上文 ChatGPT在数据处理中的应用(一)https://developer.aliyun.com/article/1620262

1.5 数值运算
数值运算主要是对数据进行算术运算、比较运算、汇总运算等操作。接下来看看ChatGPT如何帮助我们完成这项工作的。

1.5.1 ChatGPT帮我做
看看第一种实现方式。下面是我们向ChatGPT输入的具体操作和数据集。

image.png

ChatGPT收到上述内容后,Python实现代码及返回结果。

import pandas as pd

# 创建数据集
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, None, 45, 32, 28, 35, 22, 45]
}

df = pd.DataFrame(data)

# 1. 将订单ID列和产品ID列进行相加,生成新的一列
df['相加结果'] = df['订单ID'] + df['产品ID']

# 2. 对用户ID进行非重复值计数
non_duplicate_count = df['用户ID'].nunique()

# 返回结果
print("添加相加结果的数据集:")
print(df)
print("\n用户ID的非重复值计数结果:", non_duplicate_count)


# 运行结果
添加相加结果的数据集:
   订单ID  用户ID   产品ID        订单日期 用户性别  用户年龄   相加结果
0  1001   101  10001  2023-04-0128.0  11002
1  1002   102  10002  2023-04-0135.0  11004
2  1003   103  10003  2023-04-0122.0  11006
3  1004   104  10001  2023-04-01NaN  11005
4  1005   105  10002  2023-04-0145.0  11007
5  1006   106  10003  2023-04-0132.0  11009
6  1007   101  10001  2023-04-0228.0  11008
7  1008   102  10002  2023-04-0235.0  11010
8  1009   103  10003  2023-04-0222.0  11012
9  1010   104  10001  2023-04-0245.0  11011

用户ID的非重复值计数结果: 6

可以看到,ChatGPT按照我们的要求完成了任务。

1.5.2 ChatGPT告诉我
看看第二种方式。下面是我们向ChatGPT发送的具体内容。

image.png

ChatGPT收到上述内容以后,返回如下结果。

# SQL结果
-- 1. 将订单ID列和产品ID列进行相加,生成新的一列
ALTER TABLE your_table ADD COLUMN 相加结果 INT;
UPDATE your_table SET 相加结果 = 订单ID + 产品ID;

-- 2. 对用户ID进行非重复值计数,返回计数结果
SELECT COUNT(DISTINCT 用户ID) AS 非重复用户数
FROM your_table;
# Python结果
import pandas as pd

data = pd.read_csv('order.csv')
df = pd.DataFrame(data)

# 1. 将订单ID列和产品ID列进行相加,生成新的一列
df['相加结果'] = df['订单ID'] + df['产品ID']

# 2. 对用户ID进行非重复值计数,返回计数结果
non_duplicate_count = df['用户ID'].nunique()

# 返回结果
print("添加相加结果的数据集:")
print(df)
print("\n用户ID的非重复值计数结果:", non_duplicate_count)

上述SQL和Python的实现逻辑都是正确的。因为数值运算整体比较简单,所以这里就不举更多例子了,大家可以根据实际的业务需求进行调整。

1.6 数据分组
数据分组是按照某些维度先对数据进行分组,再对分组后的数据进行汇总运算。接下来看看ChatGPT如何帮助我们完成这项工作。

1.6.1 ChatGPT帮我做
看看第一种方式。下面是我们向ChatGPT输入的具体操作和数据集。

image.png

ChatGPT收到上述内容后,返回如下结果。
image.png

可以看到,ChatGPT按照我们的要求完成了任务。

1.6.2 ChatGPT告诉我
看看第二种实现方式。下面是我们向ChatGPT发送的具体内容。

image.png

ChatGPT收到上述内容后,返回如下结果。

SQL 结果
-- 计算男性和女性的订单数
SELECT 用户性别, COUNT(订单ID) AS 订单数
FROM your_table
GROUP BY 用户性别;

-- 计算男性和女性的用户数
SELECT 用户性别, COUNT(DISTINCT 用户ID) AS 用户数
FROM your_table
GROUP BY 用户性别;
# Python结果
import pandas as pd

data = pd.read_csv('order.csv')
df = pd.DataFrame(data)

# 计算男性和女性的订单数
order_counts = df['用户性别'].value_counts()

# 计算男性和女性的用户数
user_counts = df.groupby('用户性别')['用户ID'].nunique()

# 返回结果
print("男性和女性各自的订单数:")
print(order_counts)
print("\n男性和女性各自的用户数:")
print(user_counts)

# 运行结果如下:
男性和女性各自的订单数:55
Name: 用户性别, dtype: int64

男性和女性各自的用户数:
用户性别
女    33
Name: 用户ID, dtype: int64

上述SQL和Python的实现逻辑都是正确的

1.7 时间序列分析
时间序列分析的操作主要时间格式互换、时间索引、时间运算等。接下来看看ChatGPT如何帮助我们完成这项工作。

1.7.1 ChatGPT帮我做
看看第一种方式。下面是我们向ChatGPT输入的具体操作和数据集。

image.png

ChatGPT收到上述内容后,返回如下所示结果。

image.png

1.7.2 ChatGPT帮我做
看看第二种方式,下面我们向ChatGPT发送的具体内容。
image.png

ChatGPT收到上述内容后,返回如下结果。

SQL 结果
-- 1. 提取订单日期中的日部分,存储在新的一列中
ALTER TABLE your_table ADD COLUMN 日部分 STRING;
UPDATE your_table SET 日部分 = SUBSTR(订单日期, 9, 2);

-- 2. 将订单日期向前滑动30天,存储在新的一列中
ALTER TABLE your_table ADD COLUMN 减去30天日期 STRING;
UPDATE your_table SET 减去30天日期 = FROM_UNIXTIME(UNIX_TIMESTAMP(订单日期) - 30*24*60*60, 'yyyy-MM-dd');

-- 3. 将订单日期为“2023-04-01”的数据筛选出来
SELECT *
FROM your_table
WHERE 订单日期 = '2023-04-01';
# Python结果
'''import pandas as pd
from datetime import timedelta

# 读取数据集
data = pd.read_csv("order.csv")


# 提取订单日期中的日部分
data['日'] = pd.to_datetime(data['订单日期']).dt.day
# 将订单日期转换为日期类型
data['订单日期'] = pd.to_datetime(data['订单日期'])

# 向前滑动30天
data['提前30天'] = data['订单日期'] - timedelta(days=30)

# 筛选订单日期为“2023-04-01”的数据
filtered_data = data[data['订单日期'] == '2023-04-01']
# 打印结果
filtered_data.to_excel('筛选完.xlsx')'''
import pandas as pd

data = pd.read_csv('order.csv')
df = pd.DataFrame(data)

# 1. 提取订单日期中的日部分,存储在新的一列中
df['日部分'] = df['订单日期'].str[-2:]

# 2. 将订单日期向前滑动30天,存储在新的一列中
df['减去30天日期'] = pd.to_datetime(df['订单日期']) - pd.DateOffset(days=30)

# 3. 将订单日期为“2023-04-01”的数据筛选出来
filtered_data = df[df['订单日期'] == '2023-04-01']

# 返回结果
print("提取订单日期中的日部分和减去30天日期后的数据集:")
print(df[['订单ID', '用户ID', '产品ID', '订单日期', '用户性别', '用户年龄', '日部分', '提前30天']])
print("\n订单日期为'2023-04-01'的数据:")
print(filtered_data)

# 运行结果
订单日期为'2023-04-01'的数据:
   订单ID  用户ID   产品ID        订单日期 用户性别  用户年龄 日部分    提前300  1001   101          10001                  2023-04-0128.0   1         2023-03-02
1  1002   102          10002                  2023-04-0135.0   1         2023-03-02
2  1003   103          10003                  2023-04-0122.0   1         2023-03-02
3  1004   104          10001                  2023-04-01NaN   1         2023-03-02
4  1005   105          10002                  2023-04-0145.0   1         2023-03-02
5  1006   106          10003                  2023-04-0132.0   1         2023-03-02

上述SQL和Python的实现逻辑都是正确的。

相关文章
|
24天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
16天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
20天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2577 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
18天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
3天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
2天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
164 2
|
20天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1576 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
22天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
978 14
|
4天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
221 2
|
17天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
735 9