天天看点

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

作者:老井爱生活爱科技

#头条家时光##与ChatGPT的有趣对话#

我从事的是数据分析工作,在这篇文章中,我将向你展示如何使用Pandas-ai使Pandas进行对话,包括可视化和提示,实现自动化数据分析,感觉数据分析师职业也要被AI替代了。

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

为什么使用Pandas-ai?

Pandas AI是对Pandas的有价值的补充,因为它通过融入生成性人工智能特性来增强这个库的能力。通过使用Pandas AI和Pandas结合,用户可以利用AI的力量进行预测建模、数据合成和模式识别等任务。它扩展了Pandas的功能,而不是替换它,使用户可以在他们的数据分析和处理工作流程中无缝地利用AI技术。这种组合使用户能够使用传统的数据处理技术和AI驱动的方法,从他们的数据中探索并获得更深入的洞察,比如一些常见的应用:

哪些特性或属性对车辆安全等级贡献最大,比如刹车性能、安全气囊部署或结构设计?

影响患者结果或治疗效果的最重要因素是什么,如年龄、性别、既往疾病或药物剂量?

哪些因素对交货时间影响最大,如交通拥堵、天气条件或行驶距离?

如何使用Pandas-ai

首先我询问ChatGPT:

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

ChatGPT给出了很详细的解释和说明,然后我让它给一个示例:

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

由于ChatGPT无法生成真实的数据集,给了一个示例数据集合代码。

下面我们开始使用Pandas-ai,我们首先需要导入库

提示:你可以在Jupyter Notebook中执行此任务,你需要确保已安装python,或者,使用你最舒适的集成开发环境(IDE)。

import pandas as pd

from pandasai import PandasAI

在这个例子中,我们使用一个样本数据帧。

提示:数据集为结构化数据提供了一种方便直观的表格形式表示方式,类似于电子表格或SQL表,数据集的表格结构允许易于组织、可视化和操作数据。

# 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]

})

你需要一个OpenAI API秘钥,你可以访问这个页面来获取(https://platform.openai.com/docs/introduction/tokens),在开始之前,你可能还想看看API密钥安全的最佳实践(https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety)。

# Instantiate a LLM

from pandasai.llm.openai import OpenAI

llm = OpenAI(api_token="YOUR_API_TOKEN")

你可以直接使用对话的形式让Pandas-ai执行简单或复杂的查询,让Pandas-ai对你的数据进行EDA,绘制图形,计算相关性和协方差,进行时间序列分析。

pandas_ai = PandasAI(llm, conversational=False)

pandas_ai(df, prompt='Which are the 5 happiest countries?')//幸福指数最高的5个国家

以上代码返回以下内容:

6 Canada

7 Australia

1 United Kingdom

3 Germany

0 United States

Name: country, dtype: object

pandas_ai(

df,

"Plot the histogram of countries showing for each the gpd, using different colors for each bar",

)//直接告诉AI绘制国家直方图,显示每个国家的gpd,对每个条形图使用不同的颜色

以上代码返回以下内容:

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

接下来我使用网络上的数据集在jupyter lab里面进行了使用:

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

下面我直接采用对话的方式告诉Pandas-ai需要绘制什么图形即可:

每一个提示第一个参数是数据集名称,第二个是你的数据分析目的要求

告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

用Python绘制的Pandas苹果股票时间序列图。使用Pandas-ai创建和分析

Prompt: pandas_ai( apple, “Plot the ‘Adj Close’ value. Set the size of the figure to 13.5 x 9 inches “,)(绘制 'Adj Close' 值,将图像大小设置为 13.5 x 9 英寸 )

使用Python的Pandas自行车时间序列图,使用Pandas-ai创建和分析

Prompt: pandas_ai(fixed_df,“Plot the Berri 1 column. make the figsize=(15, 10)”,)(绘制 Berri 1 列,设置 figsize=(15, 10))
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析
Prompt: pandas_ai(fixed_df, “Plot the Berri 1, Br?beuf (donn?es non disponibles), C?te-Sainte-Catherine, Maisonneuve 1, Maisonneuve 2, du Parc, Pierre-Dupuy, Rachel1 , St-Urbain (donn?es non disponibles) columns. make the figsize=(15, 10)”,)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

使用Python的Pandas 311服务请求柱状图。使用Pandas-ai创建和分析

Prompt: pandas_ai(complaints, “Plot the top 10 most common complaints”,)(绘制十大最常见投诉)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

Pandas提示 使用Python的散点图,使用Pandas-ai创建和分析

Prompt: pandas_ai(tips,“Plot two scatterplots graphs, one for Male and another for Female, presenting the total_bill value and tip relationship, differing by smoker or no smoker. They must be side by side. “,)(绘制两个散点图,一个代表男性,一个代表女性,展示总账单值与小费关系,根据是否吸烟区分。他们必须并排。)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

使用Python的箱形图,使用Pandas-ai创建和分析

Prompt: pandas_ai(tips,“Plot a box plot presenting the total_bill per day differetiation the time (Dinner or Lunch “,)(绘制一个箱形图,展示每天的总账单在时间(晚餐或午餐)的区别)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

Plotly 垃圾邮件数据可视化图,使用Pandas-ai进行分析。

Prompt: (df2, What’s the distribution by target?)(目标的分布情况是什么?)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

Plotly 垃圾邮件数据可视化图,使用Pandas-ai进行分析

Prompt: (df2, What are the data roles in different fields?)(在不同字段中的数据角色是什么?)

Plotly可视化图,使用Pandas-ai进行分析

Prompt: (df2, “What percentage of sent invoices come from Montreal?”,)(来自蒙特利尔的发票占所有发票的百分比是多少?)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

Plotly可视化图,使用Pandas-ai进行分析

Prompt: (df2, “What percentage of sent invoices come from Toronto?”,)(来自多伦多的发票占所有发票的百分比是多少?)

Plotly可视化图,使用Pandas-ai进行分析

Prompt: (dfmap,“What was the population of Spain in 2007?”,)(2007年西班牙的人口是多少?)
告别手动数据处理分析,利用ChatGPT和Pandas实现自动化数据分析

Plotly可视化图,使用Pandas-ai进行分析

Prompt: (“dfmap,“What was the population of the UK in 2007?”,)(2007年英国的人口是多少?)

从上面的几个示例可以看出,使用Pandas-ai只需要进行提示命令描述即可,不需要在写大量的代码和查看可视化api用法,我测试了一下,目前好像中文命令还不支持。

使用Pandas-ai的十大方式

  1. 数据清理和预处理
  2. 数据探索和描述统计
  3. 数据处理和转换
  4. 时间序列分析
  5. 数据可视化
  6. 统计分析
  7. 数据分组和聚合
  8. 数据集成和合并
  9. 数据建模和机器学习
  10. 数据导出和集成

五大要点

增强数据分析:Pandas AI通过生成性AI功能扩展了Pandas的功能,使数据分析更先进、更复杂。

改善数据质量:通过AI驱动的数据填充和验证技术,Pandas AI可以通过填补缺失值,识别数据错误或不一致性,并确保数据的完整性,从而提高数据质量。这将导致更可靠、准确的分析结果,减少不完整或错误数据的潜在影响。

加快洞察力和决策速度:Pandas AI自动化了某些分析任务,减少了数据探索和建模所需的手工工作。通过利用AI能力,它加速了产生洞察的过程,使分析师和科学家能够更有效地做出明智的决策。

扩展数据探索可能性:Pandas AI的生成性AI能力与Pandas的数据处理功能的结合,为数据探索开启了新的途径。分析师可以执行数据扩充,创建模拟数据集,生成合成离群值,使全面的分析和场景测试超越了原始数据集的限制。

无缝集成和可扩展性:Pandas AI与Pandas和其他流行的Python库顺畅地集成,确保与现有工作流程的兼容性,扩展了数据分析生态系统的功能。 最后的想法 Pandas AI作为著名的Pandas库的强大扩展,为其注入了生成性人工智能能力。通过结合Pandas和AI的优势,它为数据分析、探索和决策打开了令人兴奋的可能性。Pandas AI拥有数据合成、异常检测、预测建模和NLP等功能,使用户能够深入洞察,应对数据挑战,推动创新。无论是扩充数据

最后的想法

Pandas AI作为著名的Pandas库的强大扩展,为其注入了生成性人工智能能力。通过结合Pandas和AI的优势,它为数据分析、探索和决策打开了令人兴奋的可能性。Pandas AI拥有数据合成、异常检测、预测建模和NLP等功能,使用户能够深入洞察,应对数据挑战,推动创新。无论是扩充数据集,填充缺失值,还是生成合成离群值,Pandas AI都为转换和探索数据提供了多功能的工具包。它对于希望解锁数据集全潜力的数据科学家、分析师和研究员来说,是一种宝贵的资产。

感谢你阅读这篇文章! 我真的很感激!

继续阅读