pandas数据分析实战(认识PandasAI:用AI为你的数据分析“超级充电”)ai 难以置信

 

在这个快速发展的互联网时代,每一天都有新的创新和突破出现。现在,就让我们聊一聊最近互联网界的一些热门话题,看看有哪些令人瞠目结舌的事情正在发生。

今日份知识你摄入了么?

照片来自Unsplash,作者Luke Chesser包括ChatGPT在内的大型语言模型的快速发展,不断展示了这项技术的非凡能力我们每天都能看到对其的创新使用在这篇文章中,我们将主要介绍PandasAI——一个会话库,让你的数据能“说话”。

导论编写计算机代码的领域发生了戏剧性的变化程序员花费无数个小时在谷歌上搜索答案、筛选Stack Overflow 论坛条目的日子已经一去不复返了我们现在已经进入了AI辅助编码的时代——这大大加快了开发进程。

比如,有像GitHub Copilot这样的工具,只要你键入docstrings,它会给出非常好的代码建议;使用ChatGPT,你只需键入你想要做的事情,它就会产出代码而且,现在的聊天功能还简化了故障排除过程,能够快速识别错误消息。

编程的未来将发生重大转变:用户将能够很快使用会话语言与计算机和数据进行交流,而不是掌握抽象的编程语言概念目前库的进步表明,这种变化已经是大势所趋例如,LangChain是一个非常受欢迎的实用程序库,是构建大型语言模型的工具,拥有Pandas DataFrame Agent。

用户可以加载他们的Pandas DataFrame,提出问题,而Agent将引用相关代码并提供全方位响应就算是对于那些不熟悉Pandas的人来说,它也可以是一个用于处理表格数据的Python库请看以下示例:。

from langchain.agents import create_pandas_dataframe_agentfrom langchain.llms import OpenAIimport pandas as pd

df = pd.read_csv(titanic.csv)agent = create_pandas_dataframe_agent(OpenAI(temperature=0), df, verbose=True)

agent.run("how many rows are there?")将产出:> Entering new AgentExecutor chain...Thought: I need to count the number of rows

Action: python_repl_astAction Input: len(df)Observation: 891Thought: I now know the final answerFinal Answer: There are

891 rows in the dataframe.> Finished chain.(其构建软件包为yolopandas)

什么是PandasAI?PandasAI是另一个旨在为Pandas DataFrames提供会话接口的软件包短短几天内,它就累积了3.6万颗星星——考虑到最初的Pandas软件包有大约3.8万颗星星,这显然是一个历史性的成就。

PandasAI的与众不同之处在于其具有pip安装的便利性,用户只需几行代码就能上手请看以下关于我如何在我的conda环境中与Jupyter一起在M1 Mac上设置它的示例:conda create --name pandasai python=

3.10conda activate pandasaipip install pandasaiconda install jupyter如果在启动Jupyter时出现了“500”错误,那很可能是因为这个。

解决方案是修复依赖项:pip install--force-reinstall charset-normalizer = 3.1.0现在,让我们按照文档中的quickstart示例:(我们使用了OpenAI API访问,但原则上,你也可以使用OpenAssistant)

import pandas as pdfrom pandasai import PandasAI# Sample DataFramedf = 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 LLMfrom pandasai.llm.openai import OpenAIllm = OpenAI(api_token=

"YOUR_OPENAI_API_KEY")pandas_ai = PandasAI(llm)pandas_ai.run(df, prompt=Which are the 5 happiest countries?

)你瞧,结果就这么出来了:“数据显示,最幸福的5个国家是加拿大、澳大利亚、英国、德国和美国”如果我们改写提示:Which are the countries with the largest gdp?结果是这样的:

“GDP最高的国家是美国、中国、日本、德国和英国美国的GDP最高,其次是中国和日本这些国家经济强盛,对全球市场贡献巨大甚至还有一个更“冗长”的解释Quickstart还显示,你可以绘图,并再次使用修改过的提示:。

Plot the histogram of countries showing for each the gdp, using different shades of blue for each bar

效果真好现在,我假设它知道pandas的功能,把难度提高一个档次:Make a scatterplot with gdp vs happines for each country. Add horizontal 。

and vertical lines for the average happines and gdp.请注意,我故意写了happines——一个错别字,在数据框架中,列的名称是happiness _ index。

尽管如此,它依然能运行得“完美无瑕”:请注意,PandasAI会根据提示更改数据框架,例如,如果你的提示是add a column with gdp divided by happines,那它会照做然而,对于上面的groupby示例,它却没有继续。

它确确实实有着限制我们可以这样改变提示:Plot the histogram of countries showing for each the gdp. Make countries in Europe red 。

and the rest blue.也就是说,其将需要来自外部的额外信息对我来说,这可能会导致FileNotFoundError,也凸显了其局限性此外,当远离示例数据集时,一切就更糟了示例数据集采用长格式,即每行一个数据点。

当使用宽格式(每行中有多个数据点)进行测试时,它是不起作用的。实际上,你可能需要事先执行一些格式化操作,以确保你的数据结构正确,并保证其与PandasAI软件包兼容。

PandasAI与Streamlit完美交融如果你有兴趣在不深入编程的情况下试用PandasAI,我已经创建了一个简单方便的Streamlit应用程序,可以与软件包连接你可以在GitHub上找到源代码,同时在线版本随时可用,其托管在Streamlit Share上。

不过,你需要输入OpenAI-API-key试一试吧,通过对话界面,体验与Pandas DataFrames的无缝交互

结语PandasAI体现了大型语言模型与既定工作流程的无缝集成,以及数据分析的持续转型如果你是一名精通使用库的数据分析师,同时你的主要职责是根据用户的要求生成绘图,那么这个过程很有可能被高效地自动化AI和对话界面的进步正在彻底改变我们与数据交互的方式,其能简化任务,并使数据分析比以往任何时候都更容易获得。

显然,重点将从如何实施某种分析转移到要做什么的分析上使用自然语言的挑战之一是其可能产生歧义例如,我们观察到“幸福”一词增加了“幸福指数”的使用——但这总是正确的假设吗?可以想象,数据分析师这个职位代表的不再只是指导大型语言模型绘制内容。

相反,他们可能会更依赖于高级提示或“超级提示”,即首先请求最合适的指标来对特定主题做出决策,然后要求AI生成相应的视觉效果这一转变将为数据分析提供一种更全面、更细致的方法——利用AI的力量做出更明智的决策。

原文作者:Maximilian Strauss翻译作者:高佑兮美工编辑:过儿校对审稿:Chuang原文链接:https://betterprogramming.pub/meet-pandasai-supercharge-your-data-analysis-with-ai-b1935ba5a57e

本周公开课预告

往期精彩回顾Binance宣布退出加拿大市场如何轻松安装Auto-GPT?“AI教父”离开谷歌:谈科技的潜在危险Adobe与谷歌合作,激励数百万人进行创作!数据科学家的ChatGPT指南:40个最重要的提示语!

点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课程

本文转载于万像专栏:https://www.wanxiangsucai.com/read/

为您推荐

pandas数据分析实战(认识PandasAI:用AI为你的数据分析“超级充电”)ai 难以置信

pandas数据分析实战(认识PandasAI:用AI为你的数据分析“超级充电”)ai 难以置信

在这篇文章中,我们将主要介绍PandasAI——一个会话库,让你的数据能“说话”。...

2023-05-25 栏目:科技派

当前非电脑浏览器正常宽度,请使用移动设备访问本站!