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功能支持的如何,中英文是否有差异,这个都有待验证。有兴趣有条件的同学可以去当个先行官。


相关文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
ElasticON AI 2023大会回顾:深入探索 Elasticsearch 与人工智能的融合之路
ElasticON AI 2023大会回顾:深入探索 Elasticsearch 与人工智能的融合之路
22 0
|
1天前
|
机器学习/深度学习 人工智能 算法
人工智能(AI)中的数学基础
人工智能(AI)是一个多学科交叉的领域,它涉及到计算机科学、数学、逻辑学、心理学和工程学等多个学科。数学是人工智能发展的重要基础之一,为AI提供了理论支持和工具。
18 1
|
1天前
|
人工智能 搜索推荐 安全
【AI 生成式】生成式人工智能在内容创作和版权方面有何影响?
【5月更文挑战第4天】【AI 生成式】生成式人工智能在内容创作和版权方面有何影响?
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI 生成式】生成式人工智能如何在虚拟现实和游戏中使用?
【5月更文挑战第4天】【AI 生成式】生成式人工智能如何在虚拟现实和游戏中使用?
|
1天前
|
人工智能 自然语言处理 算法
【AI 生成式】生成式人工智能未来有哪些潜在的进步?
【5月更文挑战第4天】【AI 生成式】生成式人工智能未来有哪些潜在的进步?
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI 生成式】如何利用生成式人工智能进行机器学习的数据增强?
【5月更文挑战第4天】【AI 生成式】如何利用生成式人工智能进行机器学习的数据增强?
|
1天前
|
人工智能 安全 数据安全/隐私保护
【AI 生成式】生成式人工智能存在哪些伦理问题?
【5月更文挑战第4天】【AI 生成式】生成式人工智能存在哪些伦理问题?
【AI 生成式】生成式人工智能存在哪些伦理问题?
|
1天前
|
机器学习/深度学习 人工智能 算法
【AI 场景】在自主武器中使用人工智能的伦理影响
【5月更文挑战第4天】【AI 场景】在自主武器中使用人工智能的伦理影响
【AI 场景】在自主武器中使用人工智能的伦理影响
|
机器学习/深度学习 人工智能 自然语言处理
搜狗翻宝Pro机再次开挂,智能翻译硬件成中国人工智能的新风口
第五届世界互联网大会正在如火如荼的举行。
搜狗翻宝Pro机再次开挂,智能翻译硬件成中国人工智能的新风口
|
机器学习/深度学习 人工智能 自然语言处理
与世界同行 2017中国人工智能大会有感
与世界同行 2017中国人工智能大会有感
1703 0
与世界同行 2017中国人工智能大会有感
http://www.vxiaotou.com