Pandas AI:Pandas与人工智能的结合,让你不再拘泥于如何使用pandas方法及处理语法

简介: Pandas AI:Pandas与人工智能的结合,让你不再拘泥于如何使用pandas方法及处理语法

今天跟大家分享一款Python三方开源库:pandas-ai


Pandas AI 是由海外软件工程师 Gianluca Venturini 开发的,他创建 Pandas AI 的目的是为了简化 Pandas 的使用,使数据分析更容易、更直观。Pandas AI 是一个 Python 库,它将生成的人工智能功能集成到 Pandas 中,使数据框成为对话式的。

image.png

该项目从开源到迄今为止, GitHub Star 数达到了 5600+,而且还在实时更新之中,也有许多贡献者加入到该项目的开发与维护中,想必使用的人也不在少数。现在详细介绍下该项目的功用吧。


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


功能概况:

  • 支持 Prompt 提示词,通过 Prompt 实现所需的数据分析功能
  • 更好地进行数据可视化


安装


pip install pandasai

用法


PandasAI 旨在与 Pandas 结合使用。它使 Pandas 具有对话性,支持以 Pandas DataFrames 的形式提出有关数据的问题并获得答案。


比如,可以要求 PandasAI 查找 DataFrame 中哪5个国家最幸福?,它将返回仅包含这些行的 DataFrame:

前提:需要有OpenAI ApiKey

image.png

配置API Key


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()
pandas_ai = PandasAI(llm, conversational=False)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')

输出示例:

6            Canada
7         Australia
1    United Kingdom
3           Germany
0     United States
Name: country, dtype: object

当然,也可以让 PandasAI 进行更复杂的查询。


比如,要求 PandasAI 求出 2 个最不幸福国家的 GDP 总和

pandas_ai.run(df, prompt='What is the sum of the GDPs of the 2 unhappiest countries?')

还可以借助 Pandas AI 进行绘画:“绘制每个gpd显示的国家直方图,每个条形图使用不同的颜色”

pandas_ai.run(
    df,
    "Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)

image.png

Pandas AI 绘制图表


更多示例代码查看:https://github.com/gventuri/pandas-ai/tree/main/examples


隐私与安全


为了生成要运行的 Python 代码,我们获取数据帧头部,将其随机化(对敏感数据使用随机生成,对非敏感数据使用混洗)并仅发送头部。


此外,如果你想进一步加强你的隐私,你可以实例化 PandasAI,enforce_privacy = True它不会将头部(但只是列名)发送到 LLM。


环境变量


为了设置 LLM(Hugging Face Hub,OpenAI)的 API 密钥,需要设置适当的环境变量。通过将.env.example文件复制到.env


cp .env.example .env

然后,编辑.env文件并设置适当的值。

或者,您也可以将环境变量直接传递给 LLM 的构造函数:

# OpenAI
llm = OpenAI(api_token="YOUR_OPENAI_API_KEY")
# Starcoder
llm = Starcoder(api_token="YOUR_HF_API_KEY")

由于没有API Key,所以没办法第一时间去体验实际的一个功能。不清楚AI功能支持的如何,中英文是否有差异,这个都有待验证。有兴趣有条件的同学可以去当个先行官。


相关文章
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
|
15天前
|
机器学习/深度学习 数据采集 人工智能
|
16天前
|
机器学习/深度学习 数据采集 人工智能
|
16天前
|
机器学习/深度学习 人工智能 算法
|
16天前
|
机器学习/深度学习 人工智能 算法
|
19天前
|
机器学习/深度学习 人工智能 算法
AI日报:人工智能使用和评估的关键任务
AI日报:人工智能使用和评估的关键任务
21 0
|
1月前
|
人工智能 安全 网络安全
欧盟《人工智能法案》对通用AI模型的监管要求
【2月更文挑战第24天】欧盟《人工智能法案》对通用AI模型的监管要求
82 1
欧盟《人工智能法案》对通用AI模型的监管要求
|
2月前
|
Web App开发 人工智能 自然语言处理
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
【人工智能时代】AI赋能编程 | 自动化工具助力高效办公
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型
2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型
|
3月前
|
SQL 存储 人工智能
探索语义解析技术和AI人工智能大模型的关系
探索语义解析技术和AI人工智能大模型的关系
76 1

热门文章

最新文章