【python学习】第三方库之pandas库的定义、特点、功能、使用场景和代码示例

引言

pandas是一个强大的Python库,用于数据分析和数据处理。它基于NumPy,提供了灵活的数据结构(Series和DataFrame)和数据操作功能,是数据科学和机器学习中不可或缺的工具

文章目录

  • 引言
  • 一、安装`pandas`第三方库
  • 二、`pandas`的定义
  • 三、特点
    • 3.1 强大的数据结构
    • 3.2 灵活的数据操作
    • 3.3 数据聚合和转换
    • 3.4 数据清洗
    • 3.5 数据可视化
    • 3.6 集成性
  • 四、功能
    • 4.1 数据读取
    • 4.2 数据操作
    • 4.3 数据聚合和转换
    • 4.4 数据清洗
    • 4.5 数据可视化
    • 4.6 集成性
  • 五、使用场景
    • 5.1 数据分析
    • 5.2 数据处理
    • 5.3 数据可视化
    • 5.4 机器学习
    • 5.5 报告和文档
  • 六、代码示例
    • 6.1 对`Series`一维数组进行操作
      • 6.1.1 代码
      • 6.1.2 代码解释
    • 6.2 对`DataFrame`多维数组进行操作
      • 6.2.1 代码
      • 6.2.2 代码解释
    • 6.3 从CSV文件读取数据,并进行基本的数据操作:
      • 6.3.1 代码
      • 6.3.2 代码解释
  • 七、总结(思维导图)

一、安装pandas第三方库

在pycharm中如图所示操作即可:

在这里插入图片描述

二、pandas的定义

pandas是一个Python第三方库,用于数据分析和数据处理

三、特点

3.1 强大的数据结构

Pandas提供了DataFrame和Series两种核心数据结构,可以方便地存储和操作数据

3.2 灵活的数据操作

Pandas提供了丰富的数据操作功能,如索引、切片、过滤等

3.3 数据聚合和转换

Pandas提供了数据聚合和转换的功能,如分组、汇总、转换等

3.4 数据清洗

Pandas提供了数据清洗的功能,如缺失值处理、重复值处理等

3.5 数据可视化

Pandas与Matplotlib和Seaborn等库结合使用,可以进行数据可视化

3.6 集成性

Pandas可以与NumPy、Matplotlib、Seaborn等库无缝集成

四、功能

4.1 数据读取

从CSV、Excel、JSON等多种数据源读取数据

4.2 数据操作

索引、切片、过滤、添加和删除列等

4.3 数据聚合和转换

分组、汇总、转换数据类型等

4.4 数据清洗

处理缺失值、重复值等

4.5 数据可视化

绘制图表、图形等

4.6 集成性

与NumPy、Matplotlib、Seaborn等库无缝集成

五、使用场景

5.1 数据分析

对大量数据进行分析,如趋势分析、统计分析等

5.2 数据处理

对数据进行清洗、转换等操作

5.3 数据可视化

绘制图表、图形等,以便更好地理解数据

5.4 机器学习

作为数据预处理和特征工程的一部分

5.5 报告和文档

生成数据报告和文档

六、代码示例

6.1 对Series一维数组进行操作

6.1.1 代码

# 创建一个Series对象,包含索引和值
obj = Series([4, 5, 6, -10], index=['a', 'b', 'c', 'd'])# 打印Series对象,显示索引和值
print(obj)# 打印Series对象的dtype(数据类型)
print(obj.dtype)# 打印Series对象的索引
print(obj.index)# 打印Series对象的值
print(obj.values)# 修改索引'a'对应的值
obj['a'] = 2222# 再次打印Series对象,显示更新后的值
print(obj)# 检查字符串'aa'是否在Series对象的索引中
print('aa' in obj)

6.1.2 代码解释

  1. 创建一个Series对象,包含四个整数和一个索引列表
  2. 打印原始Series对象,显示索引和值
  3. 打印Series对象的dtype,这里是int64,表示数据类型是64位整数
  4. 打印Series对象的索引,这是一个由字符串组成的索引列表
  5. 打印Series对象的值,这是原始的整数列表
  6. 修改索引’a’对应的值为2222
  7. 再次打印更新后的Series对象,显示新的值
  8. 检查字符串’aa’是否在Series对象的索引中,由于索引中没有’aa’,所以返回False

6.2 对DataFrame多维数组进行操作

6.2.1 代码

import pandas as pd# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)# 显示DataFrame
print(df)# 添加新列
df['Salary'] = [50000, 60000, 70000]# 删除列
del df['Salary']# 更新数据
df.loc[1, 'Age'] = 32# 选择数据
print(df.loc[1])  # 输出: Bob     32

6.2.2 代码解释

  1. 导入Pandas库并给它一个别名pd
  2. 创建一个包含两列(‘Name’和’Age’)的字典,其中列值是列表
  3. 使用字典创建一个DataFrame对象,列名来自字典的键,列值来自字典的值
  4. 打印DataFrame对象,显示索引和值
  5. 添加新列,列名为’Salary’,值为一个列表
  6. 删除名为’Salary’的列
  7. 更新索引为1的行中’Age’列的值为32
  8. 选择索引为1的行,并打印出来,输出结果是’Bob’和’32’,因为’Age’列的值被更新了

6.3 从CSV文件读取数据,并进行基本的数据操作:

6.3.1 代码

# 导入pandas库
import pandas as pd# 从CSV文件读取数据
df = pd.read_csv('data.csv')# 显示数据
print(df)# 索引和切片
print(df.loc[1:3, ['Name', 'Age']])# 过滤数据
print(df[df['Age'] > 25])# 添加新列
df['Salary'] = [50000, 60000, 70000]# 删除列
del df['Salary']# 数据聚合和转换
grouped = df.groupby('Name')
print(grouped.mean())# 数据清洗
df.fillna(0, inplace=True)# 导入数据可视化第三方库
import matplotlib.pyplot as plt# 绘制柱状图
df.plot(kind='bar', x='Name', y='Age')
plt.show()

6.3.2 代码解释

  1. 读取了一个CSV文件,并创建了一个DataFrame对象
  2. 使用索引和切片来选择DataFrame中的特定部分
  3. 使用条件过滤来筛选数据
  4. 添加和删除列
  5. 数据聚合和转换
  6. 使用Pandas和Matplotlib库来绘制数据可视化图表

七、总结(思维导图)

在这里插入图片描述

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

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

相关文章

nginx反向代理实例

一. 准备工作 1.1 ngnix的安装 nginx基本概念和安装-CSDN博客 1.2 安装tomcat tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的情况。 前往官网网站:Apache Tomcat - Ap…

C++迈向精通:模板中的引用与remove_reference原理

remove_reference 原理 模板中的引用参数 在模板中&#xff0c;双 &‘ 会被解析为“引用”&#xff0c;这个“引用”可以是“左值”引用&#xff0c;也可以是“右值”引用。 例如&#xff1a; template <typename T> void func(T &&a) {std::cout <&l…

从零开始接触人工智能大模型,该如何学习?

人工智能是计算机科学领域中最具前瞻性和影响力的技术之一。它是一种智慧型算法&#xff0c;能够模拟人类的思维过程&#xff0c;处理大量的数据和信息&#xff0c;从而发现隐藏在其中的规律和趋势。人工智能的应用范围非常广泛&#xff0c;包括语音识别、图像识别、自然语言处…

《简历宝典》14 - 简历中“项目经历”,实战讲解,前端篇

上一节我们针对项目经历做了内功式的讲解&#xff0c;为了加深读者的印象&#xff0c;可以更轻松的套用到自己的简历上&#xff0c;本章继续从前端开发、Java开发以及软件测试的三个角度&#xff0c;再以校招和初级、中级以及高级三个维度分别入手&#xff0c;以实战讲解的形式…

gihub导入gitee仓库实现仓库同步

昨天在GitHub里导入了gitee仓库&#xff0c;但是在仓库同步这里卡了很久&#xff0c;因为网上大多数都是从github导入gitee&#xff0c;然后github生成token放入实现同步&#xff0c;但是我找到一种更为方便的&#xff01; 1.首先找到项目文件下的.git文件里的config文件 2.在…

Python实战MySQL之数据库操作全流程详解

概要 MySQL是一种广泛使用的关系型数据库管理系统,Python可以通过多种方式与MySQL进行交互。本文将详细介绍如何使用Python操作MySQL数据库,包括安装必要的库、连接数据库、执行基本的CRUD(创建、读取、更新、删除)操作,并包含具体的示例代码,帮助全面掌握这一过程。 准…

dom4j 操作 xml 之按照顺序插入标签

最近学了一下 dom4j 操作 xml 文件&#xff0c;特此记录一下。 public class Dom4jNullTagFiller {public static void main(String[] args) throws DocumentException {SAXReader reader new SAXReader();//加载 xml 文件Document document reader.read("C:\\Users\\24…

基于jeecgboot-vue3的Flowable流程支持bpmn流程设计器与仿钉钉流程设计器-编辑多版本处理

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、前端编辑带有仿钉钉流程的处理 /** 编辑流程设计弹窗页面 */const handleLoadXml (row) > {console.log("handleLoadXml row",row)const params {flowKey: row.key,ver…

搜集日志。

logstash 负责&#xff1a; 接收数据 input — 解析过滤并转换数据 filter(此插件可选) — 输出数据 output input — decode — filter — encode — output elasticsearch 查询和保存数据 Elasticsearch 去中心化集群 Data node 消耗大量 CPU、内存和 I/O 资源 分担一部分…

四、GD32 MCU 常见外设介绍

系统架构 1.RCU 时钟介绍 众所周知&#xff0c;时钟是MCU能正常运行的基本条件&#xff0c;就好比心跳或脉搏&#xff0c;为所有的工作单元提供时间 基数。时钟控制单元提供了一系列频率的时钟功能&#xff0c;包括多个内部RC振荡器时钟(IRC)、一个外部 高速晶体振荡器时钟(H…

Docker修改Postgresql密码

在Docker环境中&#xff0c;对已运行的PostgreSQL数据库实例进行密码更改是一项常见的维护操作。下面将详述如何通过一系列命令行操作来实现这一目标。 修改方式 查看容器状态及信息 我们需要定位到正在运行的PostgreSQL容器以获取其相关信息。执行以下命令列出所有正在运行…

Mongodb多键索引中索引边界的混合

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第93篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

安全防御---防火墙双击热备与带宽管理

目录 一、实验拓扑 二、实验需求 三、实验的大致思路 四、实验过程 4、基础配置 4.1 FW4的接口信息 4.2 新建办公&#xff0c;生产&#xff0c;游客&#xff0c;电信&#xff0c;移动安全区域 4.3 接口的网络配置 生产区:10.0.1.2/24 办公区:10.0.2.2/24 4.4 FW4的…

极地生产力自主采样系统的观测:融池比例统计 MEDEA 融池比例数据集

Observations from the Autonomous Polar Productivity Sampling System. 极地生产力自主采样系统的观测结果 简介 该项目是美国国家航空航天局 ICESCAPE 大型项目的一部分&#xff0c;旨在研究浮游植物丰度的长期季节性变化与整个生长季节在波弗特海和楚科奇海测量到的海冰…

Spring与设计模式实战之策略模式

Spring与设计模式实战之策略模式 引言 在现代软件开发中&#xff0c;设计模式是解决常见设计问题的有效工具。它们提供了经过验证的解决方案&#xff0c;帮助开发人员构建灵活、可扩展和可维护的系统。本文将探讨策略模式在Spring框架中的应用&#xff0c;并通过实际例子展示…

CREC晶振产品分类

CREC晶振大类有石英晶体谐振器、石英晶体振荡器、石英晶体滤波器 其中石英晶体谐振器&#xff1a; KHZ石英谐振器 车规级32.768KHz石英谐振器 专为汽车RTC应用而设计&#xff0c;通过AECQ-200可靠性测试&#xff0c;满足汽车电子的高标准时频需求&#xff0c;为客户提供可靠…

前后端,数据库以及分布式系统

1. 前端&#xff08;Frontend&#xff09; 定义&#xff1a; 前端是用户直接与之交互的部分&#xff0c;通常在浏览器中运行。它负责呈现和展示数据&#xff0c;与用户进行交互。 关键点&#xff1a; HTML/CSS/JavaScript&#xff1a; HTML定义了页面结构&#xff0c;CSS负责…

工业网络通信教学平台-工业互联网综合教学的实验平台-工业互联网应用实训

工业互联网&#xff08;Industrial Internet&#xff09;&#xff0c;也称为工业物联网或IIoT&#xff0c;是一个开放的、全球化的工业网络&#xff0c;将人、数据和机器进行连接&#xff0c;将工业、技术和互联网深度融合。 工业互联网产业发展离不开信息技术产业人才&#xf…

Qt Creator的好用的功能

&#xff08;1&#xff09;ctrlf&#xff1a; 在当前文档进行查询操作 &#xff08;2&#xff09;f3: 找到后&#xff0c;按f3&#xff0c;查找下一个 &#xff08;3&#xff09;shiftf3: 查找上一个 右键菜单&#xff1a; (4)f4&#xff1a;在…

LabVIEW异步和同步通信详细分析及比较

1. 基本原理 异步通信&#xff1a; 原理&#xff1a;异步通信&#xff08;Asynchronous Communication&#xff09;是一种数据传输方式&#xff0c;其中数据发送和接收操作在独立的时间进行&#xff0c;不需要在特定时刻对齐。发送方在任何时刻可以发送数据&#xff0c;而接收…