当前位置: 首页 > news >正文

交互式数据分析和处理新方法:pandas-ai =Pandas + ChatGPT

Python Pandas是一个为Python编程提供数据操作和分析功能的开源工具包。这个库已经成为数据科学家和分析师的必备工具。它提供了一种有效的方法来管理结构化数据(Series和DataFrame)。

在人工智能领域,Pandas经常用于机器学习和深度学习过程的预处理步骤。Pandas通过提供数据清理、重塑、合并和聚合,可以将原始数据集转换为结构化的、随时可用的2维表格,并将其输入人工智能算法。

pandas-ai介绍

PandasAI将Pandas转换为一个会话工具,你可以询问有关数据的问题,它则会以Pandas dataframe的形式进行回答。

例如,我们可以要求PandasAI返回一个DataFrame中列值大于5的所有行,它将返回一个只包含这些行的DataFrame。

 importpandasaspdfrompandasaiimportPandasAI# Sample DataFramedf=pd.DataFrame({"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],"gdp": [21400000, 2940000, 2830000, 3870000, 2160000, 1350000, 1780000, 1320000, 516000, 14000000],"happiness_index": [7.3, 7.2, 6.5, 7.0, 6.0, 6.3, 7.3, 7.3, 5.9, 5.0]})# Instantiate a LLMfrompandasai.llm.openaiimportOpenAIllm=OpenAI()pandas_ai=PandasAI(llm)pandas_ai.run(df, prompt='Which are the 5 happiest countries?')

除了返回结果以外,还可以生成图表:

 pandas_ai.run(df,"Plot the histogram of countries showing for each the gpd, using different colors for each bar",)

安装和使用

只要使用pip安装就可以使用:

 pip install pandasai

但是在使用pandasai时需要输入一个openai的api-key,这样才可以让他调用openai的语言模型:

然后在使用前先import,在输入api的key就可以使用了:

 #Import pandas and pandas-ai importpandasaspdfrompandasaiimportPandasAI# Instantiating my llm using OpenAI API key.frompandasai.llm.openaiimportOpenAI# OpenAIllm=OpenAI(api_token="YOUR_OPENAI_API_KEY")

因为pandas的特性,我们不仅仅可以处理csv文件,我们还可以连接关系型的数据库,例如pgsql:

 # creating the uri and connecting to databasepg_conn="postgresql://YOUR URI HERE"#Query sql database query="""SELECT *FROM table_name"""#Create dataframe named dfdf=pd.read_sql(query,pg_conn)

然后像上面代码一样,我们可以直接与它进行对话了:

 # Using pandas-ai!pandas_ai=PandasAI(llm)pandas_ai.run(df, prompt='Place your prompt here)

最后

ChatGPT、Pandas是强大的工具,当它们结合在一起时,可以彻底改变我们与数据交互和分析的方式。ChatGPT凭借其先进的自然语言处理能力,可以更直观地与数据进行类似人类的交互。而PandasAI可以增强Pandas数据分析体验。通过将复杂的数据操作任务转换为简单的自然语言查询,PandasAI使用户更容易从数据中提取有价值的见解,而无需编写大量代码。

这对于那些还不熟悉Python或pandas操作/转换的人来说是一种编程的新方法。我们不需要为你想要执行的任务编程,而是只是与AI代理交谈,明确的额告诉它想要的结果,代理会将此消息转换为计算机可解释的代码,并返回结果。

https://avoid.overfit.cn/post/05d75584fa34404ca8aefcd9ad1ca1ed

http://www.lryc.cn/news/66529.html

相关文章:

  • FIR滤波
  • Python小姿势 - Python中的类型检查
  • 人工智能前景
  • python并发编程学习笔记--生产者消费者模型 day02
  • 彩蛋丨利用R语言脚本实现批量合并Excel表格,再也不用手动点来点去了!
  • 深入学习MYSQL-数据操纵及视图
  • 深入讲解eMMC简介
  • ICV:中国车载超声波雷达市场规模预计2024年可达20亿美元
  • PointNet:利用深度学习对点云进行3D分类和语义分割
  • 第四十二章 Unity 下拉框 (Dropdown) UI
  • STL常用梳理——STACK、QUEUE
  • Unity物理系统基本概念
  • 防止表单重复提交的几种方式,演示一个自定义注解方式的实现
  • 《基于智能手机采集的PPG信号预测血管老化》阅读笔记
  • 【大数据-调度工具】dolphinscheduler安装和遇到的问题
  • 滑动轨迹生成的思路和代码分享-测试可过极验 90%机率
  • 【Linux】项目自动化构建工具make/makefile
  • 【系分范文】论软件需求获取技术以及应用
  • vue2.0中post请求
  • MySQL双写缓冲区(Doublewrite Buffer)
  • 免费开源的Umi-OCR 文字识别工具
  • 如何让微信小程序弹窗滚动条设置在最上面
  • c语言-指针
  • Jenkins集成SonarQube实现代码质量检查
  • 2023 谷歌I/O发布会新AI,PALM 2模型要反超GPT-4,一雪前耻!
  • MySQL和Redis如何保证数据一致性?
  • Markdown使用(超详细)
  • yolov5实现扑克牌识别的产品化过程
  • 第07讲:Java High Level Client,读写 ES 利器
  • dockerfile暴力处理配置文件外提