Pandas是一个开源工具包,它为数据科学家和分析师提供了使用Python数据操作和分析能力。Pandas库在机器学习和深度学习的预处理阶段非常流行。但现在有了AI的加持,你可以用它做更多事情。
本文介绍一个新的数据科学库——Pandas AI。一个将生成型AI能力整合到Pandas中的Python库,使数据帧架具有对话性。
什么是Pandas AI?
让数据帧具有对话性是什么意思?
正如其名,你可以与数据集进行对话,并得到快速响应。作为一名数据科学家或分析师,不需要再对着数据集进行无休止地浏览行和列。不过,Pandas AI并没有取代Pandas,它只是赋予了Pandas更强的能力!
数据科学家和分析师在分析阶段花费了大量的时间来清理数据。现在,他们将能够把数据分析提高到一个新的水平。数据专业人员研究不同的方法和流程,他们可以用这些方法和流程来最大程度地减少数据准备的时间,而现在他们可以使用Pandas AI。
PandasAI是与Pandas一起使用的,它不是Pandas的替代品。你可以向PandasAI提出有关数据集的问题,它将以Pandas DataFrames的形式返回答案,而不需要自己粗略地浏览和解决这些问题。
在OpenAI API的帮助下,Pandas AI旨在实现与机器进行虚拟对话以输出你想要的结果的目标,而不是必须自己编程完成任务。机器会用他们的语言输出结果 —— 机器可解释的代码(DataFrame)。
如何使用Pandas AI?
使用pip安装Pandas AI
pip install pandasai
使用OpenAI导入PandasAI
为了使用新的Pandas AI库,你需要一个OpenAI密钥。一旦在笔记本上启动后,你需要导入以下内容:
import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token=your_API_key)
如果你没有独特的OpenAI API密钥,你可以在OpenAI平台上创建一个账户,并在这里创建一个API密钥。你将收到一个5美元的积分,可用于探索和试验API。
完成所有设置后,你就可以开始使用Pandas AI了。
在Dataframe上运行模型
首先,你需要将OpenAI模型运行到Pandas AI:
pandas_ai = PandasAI(openAImodel)
然后,你需要在dataframe上运行模型,该模型由两个参数组成,即你正在使用的dataframe和你想问的问题:
pandas_ai.run(df, prompt='the question you would like to ask?')
例如,你可能正在查看数据集,并对某一列值大于5的行感兴趣。你可以通过使用Pandas AI来执行此操作:
import pandas as pd
from pandasai import PandasAI
# 示例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]
})
# 实例化一个LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI()
pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
它将返回一个DataFrame输出:
6 Canada
7 Australia
1 United Kingdom
3 Germany
0 United States
Name: country, dtype: object
它还具有执行更复杂查询的能力,例如数学计算和数据可视化。
如下是一个数据可视化的示例:
pandas_ai.run(
df,
"Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)
数据可视化输出:
图片来源:PandasAI
Pandas AI推出并不久,团队仍在研究如何改进这个库。如果你想看看使用Pandas AI的演示,请观看下面这段视频:
总结
尽管Pandas AI并不能取代Pandas,但它是一个可以提升工作流程的便捷工具。虽然你可以向Pandas AI询问有关数据集的问题,但你仍然需要精通编程,以便在库出现错误时进行纠正。