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

news2024/9/22 17:34:20

大家好,我是千与千寻,可以叫我千寻,我自己主要的编程语言是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())

运行结果:

   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. 计算平均评分
# 计算平均评分
average_rating = data['rating'].mean()
print('平均评分:', average_rating)

运行结果:

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

运行结果:

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

运行结果:

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

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

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

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

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

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

  1. PandasAI安装命令
pip install pandasai
  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?')

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. 不仅可以直接进行对话的文字回答,PandasAI的工具包还可以直接进行图片生成
pandas_ai.run(df, "Plot the histogram of countries showing for each the gpd, using different colors for each bar")

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

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

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

运行结果输出:

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

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

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

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

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9.Ansible Conditions介绍

Ansible条件语句 1)上面的例子在不同的机器上安装nginx,不同的操作系统风格使用不同的软件包管理器。debian使用APT, Red Hat使用Yum, 但这是两个独立的Playbook,您必须为各自的服务器使用正确的剧本。 可以使用条件语句,将这两个P…

Mongodb在Linux下载安装及部署

前言 一、下载安装包 Mongodb官网:Download MongoDB Community Server | MongoDB 二、安装及配置 博主下载的安装包是:mongodb-linux-x86_64-rhel70-6.0.6.tgz 新建目录 # 进入 usr 文件夹 cd /usr# 新建 mongodb 文件夹 mkdir mongodb# 进入 mongodb …

如何自学成为黑客

学习路线 不BB,直接上干货。 学完下面的内容,绝对可以进入黑客圈。 文末有福利噢! 第一步:计算机基础 了解计算机基本常识,常用软件使用。需要学会基本使用的软件或技术有:Word、VMware、VPN、Visual St…

快速实现工程化部署,亚马逊云科技为AIGC产品化提供可靠基础

本文将以Stable Diffusion Quick Kit在亚马逊云科技Amazon SageMaker上的部署来介绍Stable Diffusion模型基础知识,HuggingFace Diffusers接口,以及如何使用Quick Kit在SageMaker Endpoint上快速部署推理服务。 Stable Diffusion模型 2022年由Stability…

自己拍摄的视频剪辑时如何消音?

由于录制环境的影响,有时制作出来的视频原始声音可能无法达到令人满意的效果,可能有噪声存在。这个时候,就应该先消除视频原始声音,然后后期再去给视频添加配音。有哪些适合给自己拍摄的视频调为静音的方法,来看看有哪…

详解 Windows 10 安装 CUDA 和 CUDNN

目录 查看本机 Window 10 系统已经安装 NIVIDIA 的驱动版本说在前面查看驱动版本 CUDA下载直接下载最新的 CUDA下载历史版本的 CUDA 安装测试 CUDNN下载 下载最新版本的 cuDNN下载历史版本的 cuDNN, 如: cuDNN 12.0安装 关于添加系统环境变量的问题 ⭐️⭐️说在前面!!! 建议 先…

平均年薪20W,自动化测试工程师这么吃香?

自动化测试工程师,平均年薪20w绝对不是空穴来凤,甚至我还说少了,加上年终奖和奖金等等年薪可能还不止20w这个水平,让我们看看下方截图,【来自于职友集】 本篇文章将由以下4个部分来展开: 1. 什么是自动化测…

PaddleClas初体验

PaddleClas初体验 该包是由百度PaddlePaddle组织下开源的项目,主要用于图像分类,图像搜索等相关任务。 项目地址: https://github.com/PaddlePaddle/PaddleClashttps://pypi.org/project/paddleclas 主要构件: PP-ShiTu&…

企业的数据信息值钱吗?如何提升数据信息的价值?

越来越多的企业也将数据视为转型发展、重塑竞争优势和提升组织治理能力的重要战略资产,并对这一重要资产进行系统性、体系化的管理,以便充分挖掘数据的战略、战术价值。鉴于此,对数据资产进行体全面盘点、构建企业级的数据资产目录成为了数据…

aigc分享

AIGC技术分享 AIGC概述 AIGC的概念、应用场景和发展历程 机器学习基础 机器学习的基本概念、分类和常用算法,如线性回归、决策树、支持向量机、神经网络等。 深度学习基础 深度学习的基本概念、分类和常用算法,如卷积神经网络、循环神经网络、自编…

面试专题:java多线程(2)-- 线程池

1.为什么要用线程池? 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消…

【嵌入式烧录/刷写文件】-1.6-剪切/保留Motorola S-record(S19/SREC/mot/SX)文件中指定地址范围内的数据

案例背景: 有如下一段S19文件,保留地址范围0x9140-0x91BF内的数据,删除地址范围0x9140-0x91BF外的数据。 S0110000486578766965772056312E30352EA6 S123910058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576775B S12391207…

如何判断一个点是否在凸多边形内 - golang

判断一个点是否在凸多边形内的方法很多,此处仅给出使用向量叉积法判断点是否在凸多边形内的方法。 以下图为例说明问题: 原理: 1. 将多边形的第 i 条边的第一个顶点指向点 P 得到向量 v1,然后将从第一个顶点指向第二个顶点得到向…

Java 多线程实现1到1千万的求和操作

一、使用多线程的背景 提高程序速度和响应性:许多应用程序需要同时执行多个任务,例如网络服务器,图形图像处理,模拟程序等。使用多线程可以让程序同时执行多个部分,从而显著提高程序的执行速度、响应速度。 充分利用 …

CompletableFuture 线程编排

一、前言 Java8 新特性之一&#xff0c;其实现了Future<T>, CompletionStage<T>两接口&#xff0c;后者是对前者的一个扩展&#xff0c;增加了异步回调、流式处理、多个Future组合处理的能力&#xff0c;使 Java 在处理多任务的协同工作时更加顺畅便利。 二、Compl…

POST请求与GET请求的区别

POST请求 &#xff08;提交数据&#xff0c;一般用于将数据发给服务器&#xff0c;用于修改和写入数据&#xff09; 1、传参方式&#xff1a;相对安全&#xff0c;入参在request body中&#xff0c;可通过各种抓包工具获取 2、缓存&#xff1a;不会被缓存&#xff0c;保存在服…

基于Qt的嵌入式GUI开发指南(一)

Qt 是一个跨平台的应用程序开发框架&#xff0c;用于创建高性能、可扩展和用户友好的图形用户界面&#xff08;GUI&#xff09;应用程序。它提供了丰富的工具、库和功能&#xff0c;使开发者能够轻松地构建各种类型的应用程序&#xff0c;包括桌面应用程序、移动应用程序和嵌入…

Bellhop 从入门到上手

文章目录 前言一、Bellhop 简介二、Bellhop 结构1、输入文件2、输出文件 三、Bellhop 环境文件1、OPTIONS12、OPTIONS23、OPTIONS34、OPTIONS45、其他参数 四、BELLHOP&#xff08;Matlab_GUI&#xff09;实例1、bellhop 工具箱自取2、解压缩工具箱3、设置路径4、添加并包含子文…

高频面试八股文原理篇(六) mysql数据库的左连接,右连接,内链接有何区别

目录 内连接与外连接的区别 在sql中l外连接包括左连接&#xff08;left join &#xff09;和右连接&#xff08;right join&#xff09;&#xff0c;全外连接&#xff08;full join&#xff09;&#xff0c;内连接(inner join) 内连接与外连接的区别 自连接 一个表与它自身进…