当前位置:   article > 正文

Pandas+ChatGPT强强结合诞生PandasAI,数据分析师行业要变天了?

pandasai

大家好,我是千与千寻,可以叫我千寻,我自己主要的编程语言是Python和Java。

说到Python编程语言,使用Python语言主要使用的是数据科学领域的从业者。

Python编程语言之所以在数据科学领域十分火热,源于Python语言的三大数据科学工作包,NumPy,Pandas,SciPy。

以下是三个工具包的功能简介。

NumPy:NumPy 是 Python 中最常用的数值计算库之一。它提供了一个高效的多维数组对象和用于操作数组的函数,使得在 Python 中进行数值计算变得更加简单和高效。

Pandas:Pandas 是一个功能强大且灵活的数据分析工具,广泛用于数据清洗、整理和处理。Pandas 提供了丰富的数据操作和转换函数,可以进行数据的选择、过滤、聚合、合并等操作,方便进行数据预处理和分析。

SciPy:SciPy 提供了许多模块和子模块,包括线性代数、数值积分、优化、信号处理、图像处理、统计学等领域的函数和工具。常用于数据分析、数值计算、科学计算以及机器学习等领域。

对于数据科学行业的从业者掌握pandas,numpy,scipy三大数据科学工具包是最基本的技能之一。

Numpy工具包主要用于矩阵的变换,而SciPy工具包则是应用于图像处理领域。但是真正对实际的数据清洗,整理以及处理的操作使用的是pandas工具包,同时业务方的底层数据集通常是以csv的表格文件进行存储的。

我们以下的一个实际的代码例子,来亲自感受一下Pandas工具包的实际用法与教程。

需求:对电影评分表格数据处理,加载电影数据集的数据,计算平均评分,同时对不同评分数量的电影进行数量统计,并绘制饼状图。

备注:电影评分表格数据内容,表格数据中包含三列,电影序号,电影名称,电影评分。

  1. 加载表格数据集的数据内容并打印
# 加载数据集
data = pd.read_csv('movies.csv')
# 展示前几行数据
print(data.head())
  • 1
  • 2
  • 3
  • 4

运行结果:

   movie_id                     title  rating
0         1  The Shawshank Redemption     9.2
1         2             The Godfather     9.1
2         3           The Dark Knight     9.0
3         4              12 Angry Men     8.9
4         5              Pulp Fiction     8.9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 计算平均评分
# 计算平均评分
average_rating = data['rating'].mean()
print('平均评分:', average_rating)
  • 1
  • 2
  • 3

运行结果:

平均评分: 8.919999999999998
  • 1
  1. 统计不同评分的数量
rating_counts = data['rating'].value_counts()
print('评分统计:')
print(rating_counts)
  • 1
  • 2
  • 3

运行结果:

评分统计:
8.9    4
8.8    2
9.2    1
9.1    1
9.0    1
8.7    1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  1. 将电影评分的分布绘制为饼状图
# 绘制评分分布饼状图
plt.pie(rating_counts.values, labels=rating_counts.index, autopct='%1.1f%%', startangle=90)
plt.title('电影评分分布')
  • 1
  • 2
  • 3

运行结果:

怎么样,Pandas代码工具包进行表格数据的处理能力,效果是不是十分不错呢?而且感觉很酷炫!

不过Pandas代码工具包还是需要一定的编程基础的,由于还需要定义绘制图片的字体以及布局等,所以即使这样几个简单的处理,也写了大约60行的代码。

那么,有没有什么办法,直接让代码自动生成或者处理我们的数据需求?

当然了!在AI的洪流时代,没有什么是不可能!Pandas与ChatGPY两个工具包,进行强强结合。

现在已经诞生了“ChatGPT+Pandas”结合的:Pandas-ai工具包,实现了人工智能辅助我们做数据分析!

到底是什么效果,我们一起来看一看!

  1. PandasAI安装命令
pip install pandasai
  • 1
  1. 准备基础表格的数据,引用了官网的各国GDP数据
import pandas as pd
from pandasai import PandasAI

# 随机初始化各国名称,GDP数据,幸福指数数据
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, 6.12]
})

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?')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

api_token="YOUR_API_TOKEN"中的字符串替换为自己的API KEY,生成方法很简单,如下图:

以上代码的运行结果如下图所示

According to the data, the top 5 happiest countries are the United States, Canada, Australia, United Kingdom, and Germany.
  • 1
  1. 不仅可以直接进行对话的文字回答,PandasAI的工具包还可以直接进行图片生成
pandas_ai.run(df, "Plot the histogram of countries showing for each the gpd, using different colors for each bar")
  • 1

以上代码的运行结果如下图所示

4.并且PandasAI工具包不仅仅支持英文对答,中文也是支持的

pandas_ai.run(df, "哪个国家的GDP最少?使用中文回答")
  • 1

运行结果输出:

哪个国家的GDP最少?日本。
  • 1

怎么样?是不是十分的神奇?在ChatGPT的大模型时代,真的没有任何行业不受冲击的。

作为一名程序员要学会拥抱变化,使用Pandas+ChatGPT去提高自己的工作效率,因为时代在发展进步!

我是千与千寻,一名只讲干货的码农,我们下期见~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/214648
推荐阅读
相关标签
  

闽ICP备14008679号