python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python pandasai

Python使用pandasai实现数据分析

作者:PythonFun

本文主要介绍了Python使用pandasai实现数据分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、引言

最近,一位名叫Gabriele Venturi的软件工程师在github上建立了pandasai的项目。据官方介绍,pandasai是一个 Python 第三方库,将人工智能的生成能力集成到pandas包中,使数据分析具有对话性。实际上,该第三方包通过调用openai的API,并根据交互指令来对数据框中的数据进行统计分析,可以筛选、计算、分析出用户想要的数据,甚至还可以绘制图表,功能可谓十分强大。目前,在github上有68000颗星,447个fork,已经更新了18个版本。

有了这个工具,在不熟悉Python命令的情况下,也通过发送详细的数据分析需求,借助pandasai和openai的API生成所需要的数据或者图表,减化了数据分析的流程,降低了利用Python进行计算、制图的门槛。

二、pandasai的初步使用

1. pandasai的安装

安装完Python3.8以上版本后,采用pip命令安装:

pip install pandasai

2.官方代码样例

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

3. 样例代码修改

在调试此样例过程中,一方面要获得openai的API(貌似免费的额度已经没有),如果想申请可以看这个:

另一方面就是要能够访问这个api。如果想顺利访问api,需要用到以下文章中第四种方法:

修改后的样例代码如下:

import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
import openai
openai.api_base = "https://XXX.com/v1" #这里设置自己的网址
# 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,5.87,5.87,5.12]
})
# Instantiate a LLM 生成LLM实例
llm = OpenAI(api_token="Your Own Open_API_Key") # 这里放置自己的api
pandas_ai = PandasAI(llm, conversational=False)
print(pandas_ai.run(df, prompt='Which are the 5 happiest countries? '))

与官方的代码样例相比,我们增加了导入openai,同时也把我设置的base_url指定,最后需要通过print()把生成的结果打印出来,测试时发现也可以用中文提问。生成的结果展示

4. 可视化制图

如果相生成图表,可以在prompt中指定,例如把上面修改的样例代码最后一行改为:

print(pandas_ai(df,"Plot the histogram of countries showing for each the gdp, using different colors for each bar"))

意思就是生成每一个国家GDP的直方图。得到的结果如下图:

pandasai生成图表

5. 分析本地图表

把现有的DateFrame修改为读取本地的Excel表,可以用pd.read_excel("data.xlsx")命令,读取完直接赋值给变量df,注意如果数据量大的话,读取的速度可能会慢一点。

import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
import openai
openai.api_base = "https://XXX.com/v1"
#Sample DataFrame
df = pd.read_excel("data.xlsx")
# Instantiate a LLM
llm = OpenAI(api_token="Your Own Open_API_Key")
pandas_ai = PandasAI(llm, conversational=False)
print(pandas_ai(df, prompt='Which are the 5 happiest countries? '))

三、学后反思

到此这篇关于Python使用pandasai实现数据分析的文章就介绍到这了,更多相关Python pandasai内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文