什么是 Pandas AI?
Pandas AI 是一个 Python 库,利用生成式 AI 模型来增强 pandas 的能力。它的设计初衷是补充 pandas 库,这是一款广泛用于数据分析与处理的工具。
用户可以使用自然语言对 pandas 数据框进行摘要。此外,您还可以用它绘制复杂可视化、操作数据框,并生成业务洞见。
图片来源:Pandas-AI
Pandas AI 对初学者友好;即便技术背景不强的用户也能用它完成复杂的数据分析任务。它有助于更快分析数据并得出有意义的结论。
开始使用 Pandas AI
本节我们将学习如何安装并设置 Pandas AI 以进行数据分析。
首先, 我们使用 pip 安装 Pandas AI。
可选安装: 我们也可以通过如下代码安装 Google PaLM 依赖。
pip install pandasai[ google] 技术支持
其次, 我们需要获取 OpenAI API 密钥并将其存为环境变量,可参考教程 Using GPT-3.5 and GPT-4 via the OpenAI API in Python 。
最后, 我们需导入必要函数,将 OpenAI 密钥设置到 LLM API 封装器中,并实例化一个 PandasAI 对象。之后我们将用该对象在单个或多个 pandas 数据框上运行提示词。
import os
from pandasai import PandasAI
from pandasai. llm. openai import OpenAI
openai_api_key = os. environ[ "OPENAI_API_KEY" ]
llm = OpenAI( api_token= openai_api_key)
pandas_ai = PandasAI( llm) 技术支持
除了 OpenAI GPT-3.5,您还可以使用适配 Google PALM(Bison)的 LLM API 封装器,或 HuggingFace 上的开源模型,如 Starcoder 和 Falcon。
from pandasai. llm. starcoder import Starcoder
from pandasai. llm. falcon import Falcon
from pandasai. llm. google_palm import GooglePalm
llm = GooglePalm( api_token= "YOUR_Google_API_KEY" )
llm = Starcoder( api_token= "YOUR_HF_API_KEY" )
llm = Falcon( api_token= "YOUR_HF_API_KEY" ) 技术支持
您也可以设置一个 .env 文件,从而无需再设置 api_token。为此,需按以下模板将 API 密钥添加到 .env 文件:
HUGGINGFACE_API_KEY=
OPENAI_API_KEY=
技术支持
Pandas AI 的基础用法
在这个基础示例中,我们将使用 pandas 库加载 Netflix 影片数据 。该数据集包含 8,500 多部 Netflix 上可观看的电影和剧集。
import pandas as pd
df = pd. read_csv( "netflix_dataset.csv" , index_col= 0 )
df. head( 3 ) 技术支持
请参阅我们的 Python pandas 教程 ,了解您可以用 pandas 库完成的全部操作。
通过传入数据框和提示词,我们可以让 Pandas AI 生成分析并对数据集进行处理。在此示例中,我们将提示 Pandas AI 显示时长最长的五部电影的记录。
pandas_ai. run( df, prompt= 'What are 5 longest duration movies?' ) 技术支持
如我们所见,时长最长的影片是 Black Mirror,312 分钟。
让我们再要求它只显示这五部时长最长的电影名称。
pandas_ai. run( df, prompt= 'List the names of the 5 longest duration movies.' ) 技术支持
[ 'Black Mirror: Bandersnatch' , 'Headspace: Unwind Your Mind' , 'The School of Mischief' , 'No Longer kids' , 'Lock Your Girls In' ] 技术支持
注意: 如果您希望进一步强化隐私保护,可以在实例化 PandasAI 时传入 enforce_privacy = True,这样将不会把数据集的表头(仅发送列名)传给 LLM。
我们甚至可以让 Pandas AI 执行分组、排序与合并等复杂任务。
pandas_ai. run( df, prompt= 'What is the average duration of tv shows based on country? Make sure the output is sorted.' ) 技术支持
country
Denmark, Singapore, Canada, United States 10.0
United States, Mexico, Colombia 7.0
Canada, United States, France 5.5
United Kingdom, Ireland 5.0
Canada, United Kingdom 5.0
. . .
Spain, Cuba 1.0
Germany, France, Russia 1.0 技术支持
注意: 某些技术性提示可能无法奏效,尤其是在要求按列分组时。
Pandas AI 的高级用法
Pandas AI 的高级用例包括使用多个数据框生成复杂的数据可视化和业务分析。
在第一个示例中,我们可以编写提示词来生成按年份统计标题数量并按类型分类的柱状图。
pandas_ai. run( df, prompt= 'Plot the bar chart of type of media for each year release, using different colors.' ) 技术支持
注意: 您可以通过将 save_charts 参数设为 True 来保存 Pandas AI 生成的任何图表。例如,PandasAI(llm, save_charts=True)。图表将保存在 ./pandasai/exports/charts directory 中。
在第二个示例中,我们将创建三个数据框,并使用这三个数据框让 Pandas AI 生成分析。
Pandas AI 会先基于 "store" 将 df1 与 df2 连接,再基于 "location" 将 df2 与 df3 连接。随后它会处理合并后的数据集,并在数秒内给出结果。若由数据科学家来理解数据并给出解决方案,至少需要 10 分钟。
df1 = pd. DataFrame( {
'sales' : [ 100 , 200 , 300 ] ,
'store' : [ 'Walmart' , 'Target' , 'Walmart' ]
} )
df2 = pd. DataFrame( {
'revenue' : [ 400 , 500 , 600 ] ,
'store' : [ 'Walmart' , 'Target' , 'Walmart' ] ,
'location' : [ 'North' , 'South' , 'West' ] } )
df3 = pd. DataFrame( {
'profit' : [ 700 , 800 , 900 ] ,
'location' : [ 'North' , 'South' , 'West' ] ,
'employees' : [ 20 , 25 , 30 ] } )
pandas_ai. run( [ df1, df2, df3] , prompt= 'How many employees work at Walmart?' ) 技术支持
50 技术支持
您也可以通过学习 Data Manipulation with pandas 课程来执行复杂的数据分析任务。
Pandas AI 命令行界面(CLI)
Pandas AI CLI 目前为实验性工具,您可以通过克隆仓库并进入项目目录进行安装。
!git clone https: // github. com/ gventuri/ pandas- ai. git
% cd pandas- ai技术支持
随后,我们将使用 poetry 创建并激活虚拟环境。
注意: 如果您的系统未安装 poetry,可通过 curl 安装 -sSL https://install.python-poetry.org | python3 -
在已激活的环境中使用以下代码安装依赖。
最后,打开终端使用 Pandas AI CLI 工具。您需要提供数据集、模型名称和提示词。如果未提供 token,pai 将从 .env 文件中获取。
!pai - d "netflix_dataset.csv" - m "openai" - p "What are 5 longest duration movies?" 技术支持
-d, --dataset: 数据集的文件路径。
-t, --token: 您的 HuggingFace 或 OpenAI API token。
-m, --model: 要使用的 LLM 模型。选项包括:openai、open-assistant、starcoder, falcon、azure-openai 或 google-palm。
-p, --prompt: PandasAI 要执行的提示词。
阅读 Pandas AI 的文档 ,了解更多可简化您工作流程的功能与特性。
结语
通过借助大型语言模型从数据集中生成洞见,Pandas AI 有潜力重塑数据分析 方式。
数据科学家通常需要花费大量时间清洗、探索和可视化数据,而 Pandas AI 能自动化其中许多重复性任务。
不过,与所有 AI 工具一样,Pandas AI 仍有局限,无法完全取代人工。分析结果往往需要人工验证以确保准确性并识别边界情况。
在本文中,我们学习了如何安装、设置并使用 Pandas AI 进行数据分析。我们利用 Pandas AI 执行数据分析任务、生成数据可视化,并结合多个数据框获取业务洞见。若您希望改进提示词以获得更佳结果,建议学习 Introduction to ChatGPT 课程 或参考数据科学版 ChatGPT 速查表 。
什么是 Pandas AI?
Pandas AI 是一个 Python 库,利用生成式 AI 模型来增强 pandas 的能力。它的设计初衷是补充 pandas 库,这是一款广泛用于数据分析与处理的工具。
用户可以使用自然语言对 pandas 数据框进行摘要。此外,您还可以用它绘制复杂可视化、操作数据框,并生成业务洞见。
图片来源:Pandas-AI
Pandas AI 对初学者友好;即便技术背景不强的用户也能用它完成复杂的数据分析任务。它有助于更快分析数据并得出有意义的结论。
开始使用 Pandas AI
本节我们将学习如何安装并设置 Pandas AI 以进行数据分析。
首先,我们使用 pip 安装 Pandas AI。
可选安装:我们也可以通过如下代码安装 Google PaLM 依赖。
其次,我们需要获取 OpenAI API 密钥并将其存为环境变量,可参考教程 Using GPT-3.5 and GPT-4 via the OpenAI API in Python。
最后,我们需导入必要函数,将 OpenAI 密钥设置到 LLM API 封装器中,并实例化一个 PandasAI 对象。之后我们将用该对象在单个或多个 pandas 数据框上运行提示词。
除了 OpenAI GPT-3.5,您还可以使用适配 Google PALM(Bison)的 LLM API 封装器,或 HuggingFace 上的开源模型,如 Starcoder 和 Falcon。
您也可以设置一个
.env文件,从而无需再设置api_token。为此,需按以下模板将 API 密钥添加到.env文件:Pandas AI 的基础用法
在这个基础示例中,我们将使用 pandas 库加载 Netflix 影片数据。该数据集包含 8,500 多部 Netflix 上可观看的电影和剧集。
请参阅我们的 Python pandas 教程,了解您可以用 pandas 库完成的全部操作。
通过传入数据框和提示词,我们可以让 Pandas AI 生成分析并对数据集进行处理。在此示例中,我们将提示 Pandas AI 显示时长最长的五部电影的记录。
如我们所见,时长最长的影片是 Black Mirror,312 分钟。
让我们再要求它只显示这五部时长最长的电影名称。
注意:如果您希望进一步强化隐私保护,可以在实例化 PandasAI 时传入
enforce_privacy = True,这样将不会把数据集的表头(仅发送列名)传给 LLM。我们甚至可以让 Pandas AI 执行分组、排序与合并等复杂任务。
注意:某些技术性提示可能无法奏效,尤其是在要求按列分组时。
Pandas AI 的高级用法
Pandas AI 的高级用例包括使用多个数据框生成复杂的数据可视化和业务分析。
在第一个示例中,我们可以编写提示词来生成按年份统计标题数量并按类型分类的柱状图。
注意:您可以通过将
save_charts参数设为True来保存 Pandas AI 生成的任何图表。例如,PandasAI(llm, save_charts=True)。图表将保存在./pandasai/exports/charts directory中。在第二个示例中,我们将创建三个数据框,并使用这三个数据框让 Pandas AI 生成分析。
Pandas AI 会先基于 "store" 将
df1与df2连接,再基于 "location" 将df2与df3连接。随后它会处理合并后的数据集,并在数秒内给出结果。若由数据科学家来理解数据并给出解决方案,至少需要 10 分钟。您也可以通过学习 Data Manipulation with pandas 课程来执行复杂的数据分析任务。
Pandas AI 命令行界面(CLI)
Pandas AI CLI 目前为实验性工具,您可以通过克隆仓库并进入项目目录进行安装。
随后,我们将使用 poetry 创建并激活虚拟环境。
注意:如果您的系统未安装 poetry,可通过 curl 安装
-sSL https://install.python-poetry.org | python3 -在已激活的环境中使用以下代码安装依赖。
最后,打开终端使用 Pandas AI CLI 工具。您需要提供数据集、模型名称和提示词。如果未提供 token,
pai将从.env文件中获取。openai、open-assistant、starcoder, falcon、azure-openai或google-palm。阅读 Pandas AI 的文档,了解更多可简化您工作流程的功能与特性。
结语
通过借助大型语言模型从数据集中生成洞见,Pandas AI 有潜力重塑数据分析方式。
数据科学家通常需要花费大量时间清洗、探索和可视化数据,而 Pandas AI 能自动化其中许多重复性任务。
不过,与所有 AI 工具一样,Pandas AI 仍有局限,无法完全取代人工。分析结果往往需要人工验证以确保准确性并识别边界情况。
在本文中,我们学习了如何安装、设置并使用 Pandas AI 进行数据分析。我们利用 Pandas AI 执行数据分析任务、生成数据可视化,并结合多个数据框获取业务洞见。若您希望改进提示词以获得更佳结果,建议学习 Introduction to ChatGPT 课程或参考数据科学版 ChatGPT 速查表。