前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Pandas + ChatGPT:交互式数据分析!

Pandas + ChatGPT:交互式数据分析!

作者头像
刘早起
发布于 2023-08-18 06:29:41
发布于 2023-08-18 06:29:41
29600
代码可运行
举报
文章被收录于专栏:早起Python早起Python
运行总次数:0
代码可运行

Python Pandas是一个为Python编程提供数据操作和分析功能的开源工具包。这个库已经成为数据科学家和分析师的必备工具。它提供了一种有效的方法来管理结构化数据(Series和DataFrame)。

人工智能领域,Pandas经常用于机器学习深度学习过程的预处理步骤。Pandas通过提供数据清理、重塑、合并和聚合,可以将原始数据集转换为结构化的、随时可用的2维表格,并将其输入人工智能算法。

项目地址:https://github.com/gventuri/pandas-ai

使用 pip 安装 Pandas AI

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pandasai

使用 OpenAI 导入 PandasAI

在下一步中,我们将导入之前安装的 pandasai 库,然后导入 LLM(大型语言模型)功能。截至 2023 年 5 月,pandasai 仅支持 OpenAI 模型,我们将使用它来理解数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
from pandasai import PandasAI

# Sample DataFrame
df = pd.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],
    "happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})

# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="your_API_key")

pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
6            Canada
7         Australia
1    United Kingdom
3           Germany
0     United States
Name: country, dtype: object

要使用 OpenAI API,您必须生成自己唯一的 API 密钥。

因为pandas的特性,我们不仅仅可以处理csv文件,我们还可以连接关系型的数据库,例如pgsql:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # creating the uri and connecting to database
 pg_conn = "postgresql://YOUR URI HERE"
 
 #Query sql database 
 query = """
 SELECT *
 FROM table_name
 """
 
 #Create dataframe named df
 df = pd.read_sql(query,pg_conn)

然后像上面代码一样,我们可以直接与它进行对话了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # Using pandas-ai!
 pandas_ai = PandasAI(llm)
 pandas_ai.run(df, prompt='Place your prompt here)

当然,你也可以让 PandasAI 进行更复杂的查询。例如,可以要求 PandasAI 求出 2 个最不幸福国家的 GDP 总和:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pandas_ai.run(df, prompt='What is the sum of the GDPs of the 2 unhappiest countries?')

上面的代码将返回以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
19012600725504

也可以请 PandasAI 画图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pandas_ai.run(
    df,
    "Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)

最后

ChatGPT、Pandas是强大的工具,当它们结合在一起时,可以彻底改变我们与数据交互和分析的方式。ChatGPT凭借其先进的自然语言处理能力,可以更直观地与数据进行类似人类的交互。而PandasAI可以增强Pandas数据分析体验。通过将复杂的数据操作任务转换为简单的自然语言查询,PandasAI使用户更容易从数据中提取有价值的见解,而无需编写大量代码。

这对于那些还不熟悉Python或pandas操作/转换的人来说是一种编程的新方法。我们不需要为你想要执行的任务编程,而是只是与AI代理交谈,明确的额告诉它想要的结果,代理会将此消息转换为计算机可解释的代码,并返回结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 早起Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
js正则表达式校验金额-js正则表达式简单校验方法
  对于字符串的一些操作,可以通过正则表达式来实现。一般的搜索操作想必大家已经学会,今天就来说说它的校验功能,这样可以帮助判断字符串类型或者是其它的组成,比如密码、中文、字符串的组成等。下面就js正则表达式的校验带来内容分享,同时要考虑在js中支持的类型。
宜轩
2022/12/29
9.6K0
正则表达式
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。
星辰_大海
2020/10/26
9910
正则表达式
js最新手机号码、电话号码正则表达式
js最新手机号码、电话号码正则表达 正则表达式(regular expression)是一个描述字符模式的对象。使用javascript正则表达式可以进行强大的模式匹配和文本检索与替换功能。 手机号码正则表达式验证。 function checkPhone(){ var phone = document.getElementById('phone').value; if(!(/^1[3|4|5|7|8]\d{9}$/.test(phone))){ alert("手机号码有
用户1219438
2018/02/01
29.5K0
常用正则表达式
/^([0-9]{1,}\.[0-9]{1,}|[0-9]{1,})$/    数字或小数点
Java架构师必看
2020/04/22
6760
「JS高级」正则表达式
请注意,本文编写于 2058 天前,最后修改于 2058 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
2.9K0
「JS高级」正则表达式
iOS开发——正则表达式验证手机号、密码
App的实际应用中,用户登陆功能基本是每个App都有需求的一个功能。而当前我们很常规的做法,就是让用户把手机号作为自己的用户名,而在注册获取短信验证码的过程中,我们首先要完成的一个步骤,就是校验用户的手机号是否是符合规则的手机号,而这种问题,一般称之为字符串匹配问题。
Originalee
2018/08/30
3.2K2
前端day21-JS正则表达式
1.字符类: /[abc]/ 含义:只要字符串中有 a 或者有 b 或者有 c 就满足条件
帅的一麻皮
2020/05/11
1.9K0
前端day21-JS正则表达式
RegExp (正则表达式)
# 编写正则表达式 创建方式有两种 // 字面量创建方式 let reg1 = /\d+/; // 构造函数 参数:元字符字符串;修饰符字符串 let reg2 = new RegExp("\\d+
Cellinlab
2023/05/17
3510
正则表达式 RegExp(regular expression)
前端开发中,正则表达式常用于字符串匹配、验证输入的格式、替换字符串等操作。它是一个强大的工具,能够用一种灵活的方式来处理文本数据。在前端开发中,你可以利用正则表达式来实现诸如验证邮箱格式、手机号码格式、提取特定模式的文本等功能。
星辰大海c
2023/11/20
3080
正则表达式 RegExp(regular expression)
JS 活学活用正则表达式
网上的帖子大多深浅不一,甚至有些前后矛盾,在下的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~
前端下午茶
2018/10/22
2.4K0
手机号验证最新正则表达式「建议收藏」
一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确。因此,需要知道运营商最新的号段,如下所示:
全栈程序员站长
2022/07/22
21.1K1
使用Python验证常见的50个正则表达式
正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。
小小詹同学
2020/12/28
2.1K0
使用Python验证常见的50个正则表达式
常用正则表达式
?提供日常开发中的一些js处理数据的方法,包括对数据的过滤,以及对数据的验证等。也希望大家能留下你好用的方法~~ 数据过滤 手机号码隐藏中间4位 保留两位小数 每三位逗号隔开,后面补两位小数,多用于
网罗开发
2021/07/21
1.8K0
C# 正则表达式大全「建议收藏」
在网上看到一个不错的简易版正则匹配和替换的工具,现在补充进来,感觉还不错,效果如下(输入验证中文汉字的正则表达式)
全栈程序员站长
2022/09/06
1.8K0
C# 正则表达式大全「建议收藏」
Javascript正则构造函数与正则表达字面量&&常用正则表达式
  本文不讨论正则表达式入门,即如何使用正则匹配。讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式。   Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达式: 使用new RegExp()构造函数 使用正则表达字面量   先说结果,使用正则表达字面量的效率更高。   下面的示例代码演示了两种可用于创建正则表达式以匹配反斜杠的方法: 1 //正则表达字面量 2 var re = /\\/gm; 3 4 //正则构造函数 5 var reg =
Sb_Coco
2018/05/28
1.2K0
正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等
身份证号码的匹配 大陆的居民身份证号码有两种:18位和15位,15位的身份证号码是老一代身份证号码。
大师级码师
2021/10/27
1.3K0
微信小程序正则表达式
Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
江一铭
2022/06/17
1.1K0
邮箱、手机号、url等常用正则表达式
常用规则 正则表达式 Email地址: ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 域名: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(
小黑同学
2020/11/24
20.5K0
正则表达式中的特殊字符
一个正则表达式可以由简单的字符构成,比如 /abc/,也可以是简单和特殊字符的组合,比如 /ab*c/ 。其中特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如 ^ 、$ 、+ 等。
清出于兰
2020/10/26
2.4K0
正则表达式中的特殊字符
常用的正则表达式
. 匹配除回车(\r)、换行(\n) 、行分隔符(\u2028) 和 段分隔符(\u2029) 以外的所有字符
用户3880999
2023/04/13
1.1K0
常用的正则表达式
相关推荐
js正则表达式校验金额-js正则表达式简单校验方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档