第十五章:Python的Pandas库详解及常见用法

    在数据分析领域,Python的Pandas库是一个不可或缺的工具。它提供了高效的数据结构和数据分析工具,使得数据处理变得简单而直观。本文将详细介绍Pandas库的基本功能、常见用法,并通过示例代码演示如何使用Pandas进行数据处理。最后,我将用表格的形式梳理总结Pandas库的常用函数及其参数用法。资源绑定附上完整资源供读者参考学习!

一、Pandas库简介

1.1 什么是Pandas?

Pandas是一个开源的Python库,专为数据分析而设计。它提供了两种主要的数据结构:Series(一维数组)和DataFrame(二维表格),使得数据处理更加高效和便捷。

1.2 Pandas的主要特点

  • 数据结构:提供了SeriesDataFrame两种数据结构,适合处理结构化数据

  • 数据读取:支持多种数据格式的读取,如CSV、Excel、SQL数据库等。

  • 数据清洗:提供了处理缺失值、重复值、异常值等功能

  • 数据转换:支持数据的筛选、排序、分组、聚合等操作。

  • 数据可视化:集成了Matplotlib,方便进行数据可视化

1.3 Pandas的应用场景

  • 数据分析:用于清洗、转换和分析数据

  • 数据科学:在数据科学项目中进行数据预处理

  • 金融分析:处理时间序列数据和金融数据。

  • 机器学习:作为数据预处理工具,为机器学习模型提供输入数据。

二、Pandas库的常见用法

2.1 安装和导入Pandas

Python

# 安装Pandas
pip install pandas# 导入Pandas
import pandas as pd

2.2 数据读取

2.2.1 读取CSV文件

Python

import pandas as pd
# 读取CSV文件
df = pd.read_csv('2001-2017年北京市水资源情况信息.csv',encoding='gbk')# 显示前5行数据
print(df.head())

2.2.2 读取Excel文件

Python

​
# 读取Excel文件
df = pd.read_excel('data.xlsx')# 显示前5行数据
print(df.head())​

2.3 数据的基本操作

2.3.1 查看数据结构

Python

import pandas as pd
df=pd.read_csv('2001-2017年北京市水资源情况信息.csv',encoding='gbk')
# 查看数据类型
print(df.dtypes)# 查看数据维度
print(df.shape)# 查看数据描述性统计
print(df.describe())

2.3.2 筛选数据

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 按列名筛选
print(df['姓名'])# 按条件筛选
print(df[df['总成绩'] > 90])# 多条件筛选
print(df[(df['平时成绩'] > 90) & (df['总成绩'] >90)])

2.3.3 排序数据

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 按某一列排序
df_sorted = df.sort_values(by='总成绩', ascending=False)
print(df_sorted)# 按多列排序
df_sorted = df.sort_values(by=['平时成绩', '总成绩'], ascending=[False, True])
print(df_sorted)

2.4 数据清洗

2.4.1 处理缺失值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 查看缺失值
print(df.isnull().sum())# 删除缺失值
df_cleaned = df.dropna()# 填充缺失值
df_filled = df.fillna(value=0)

2.4.2 处理重复值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 查找重复值
print(df.duplicated())# 删除重复值
df_unique = df.drop_duplicates()

2.4.3 处理异常值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 使用IQR方法检测异常值
Q1 = df['平时成绩'].quantile(0.25)
Q3 = df['总成绩'].quantile(0.75)
IQR = Q3 - Q1# 筛选异常值
df_filtered = df[~((df['平时成绩'] < (Q1 - 1.5 * IQR)) | (df['总成绩'] > (Q3 + 1.5 * IQR)))]

2.5 数据可视化

2.5.1 绘制柱状图

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df['总成绩'].value_counts().plot(kind='bar')
plt.show()

2.5.2 绘制折线图

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df.plot(x='姓名', y='平时成绩', kind='line')
plt.show()

2.5.3 绘制散点图

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df.plot(x='学院', y='总成绩', kind='scatter')
plt.show()

三、Pandas常用函数及参数总结

函数参数说明示例
read_csvfilepathsepheader读取CSV文件pd.read_csv('data.csv', sep=',', header=0)
read_excelfilepathsheet_name读取Excel文件pd.read_excel('data.xlsx', sheet_name='Sheet1')
read_sql_querysqlcon从SQL数据库读取数据pd.read_sql_query("SELECT * FROM table", conn)
headn显示前n行数据df.head(5)
tailn显示后n行数据df.tail(5)
describeincludeexclude显示数据的描述性统计df.describe(include='all')
dtypes-显示数据类型df.dtypes
shape-显示数据维度df.shape
sort_valuesbyascending按列排序df.sort_values(by='column', ascending=False)
groupbyby按列分组df.groupby('column')
sumaxisnumeric_only求和df.sum(axis=0, numeric_only=True)
meanaxisnumeric_only求平均值df.mean(axis=0, numeric_only=True)
dropnaaxishowthresh删除缺失值df.dropna(axis=0, how='any', thresh=2)
fillnavaluemethod填充缺失值df.fillna(value=0, method='ffill')
duplicatedsubsetkeep查找重复值df.duplicated(subset=['column1', 'column2'], keep='first')
drop_duplicatessubsetkeep删除重复值df.drop_duplicates(subset=['column1', 'column2'], keep='first')
value_countsnormalizedropna计算唯一值的频率df['column'].value_counts(normalize=True, dropna=False)
plotxykind绘制图表df.plot(x='column1', y='column2', kind='scatter')

四、总结

Pandas库是Python数据分析的核心工具之一,提供了丰富的功能和便捷的操作方式。通过本文的介绍和示例代码,相信你已经对Pandas库有了初步的了解。以下是Pandas库的主要优势:

  • 高效的数据结构SeriesDataFrame使得数据处理更加直观和高效。

  • 丰富的数据操作:支持数据读取、清洗、转换、分析和可视化等多种操作。

  • 广泛的适用性:适用于数据分析、数据科学、金融分析等多个领域。

希望本文能帮助你更好地理解和使用Pandas库,提高数据分析的效率和质量。如果你有任何问题或建议,欢迎在评论区留言!资源绑定附上完整资源供读者参考学习!

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

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

相关文章

【Python桌面应用】PySide6 界面开发完全指南

文章目录 1. 引言2. PySide6 简介与安装2.1 什么是PySide62.2 PySide6 vs. PyQt62.3 安装PySide62.4 开发环境配置建议 3. Qt 设计原理3.1 Qt对象模型3.2 信号与槽机制3.3 Qt坐标系统3.4 Qt样式表(QSS) 4. 创建第一个应用4.1 基本应用结构4.2 主窗口与应用生命周期4.3 使用面向…

用 pytorch 从零开始创建大语言模型(三):编码注意力机制

从零开始创建大语言模型&#xff08;Python/pytorch &#xff09;&#xff08;三&#xff09;&#xff1a;编码注意力机制 3 编码注意力机制3.1 建模长序列的问题3.2 使用注意力机制捕捉数据依赖关系3.3 通过自注意力关注输入的不同部分3.3.1 一个没有可训练权重的简化自注意力…

Spring中的IOC及AOP概述

前言 Spring 框架的两大核心设计思想是 IOC&#xff08;控制反转&#xff09; 和 AOP&#xff08;面向切面编程&#xff09;。它们共同解决了代码耦合度高、重复逻辑冗余等问题。 IOC&#xff08;控制反转&#xff09; 1.核心概念 控制反转&#xff08;Inversion of Control…

STM32_HAL开发环境搭建【Keil(MDK-ARM)、STM32F1xx_DFP、 ST-Link、STM32CubeMX】

安装Keil(MDK-ARM)【集成开发环境IDE】 我们会在Keil(MDK-ARM)上去编写代码、编译代码、烧写代码、调试代码。 Keil(MDK-ARM)的安装方法&#xff1a; 教学视频的第02分03秒开始看。 安装过程中请修改一下下面两个路径&#xff0c;避免占用C盘空间。 Core就是Keil(MDK-ARM)的…

python 第三方库 - dotenv读取配置文件

.env 文件是一种用于存储环境变量的配置文件&#xff0c;常用于项目的运行环境设置。环境变量是操作系统层面的一些变量&#xff0c;它们可以被应用程序访问和使用&#xff0c;通常包含敏感信息或特定于环境的配置&#xff0c;如数据库连接信息、API 密钥、调试模式等。 安装p…

用python压缩图片大小

下载库 cmd开命令或者PyCharm执行都行 pip install pillow2. 然后就是代码 from PIL import Imagedef compress_image(input_path, output_path, quality85, max_sizeNone):"""压缩图片大小。参数:- input_path: 输入图片路径- output_path: 输出图片路径- qu…

【自用记录】本地关联GitHub以及遇到的问题

最近终于又想起GitHub&#xff0c;想上传代码和项目到仓库里。 由于很早之前有在本地连接过GitHub&#xff08;但没怎么用&#xff09;&#xff0c;现在需要重新搞起&#xff08;操作忘得差不多&#xff09;。 在看教程实操的过程中遇到了一些小问题&#xff0c;遂记录一下。 前…

在一个scss文件中定义变量,在另一个scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅 许久未曾更新这个系列&#xff0c;并非我平日里对这事儿没了兴致&#xff0c;不再愿意折腾。实则是受限于自身条…

智能驾驶功能LCC车道保持居中

画龙现象就是LCC常见bug LDW车道偏离预警 LKA车道保持 声音其实就是蜂鸣器 有些车是40 有些是60

Java全栈面试宝典:线程机制与Spring依赖注入深度解析

目录 一、Java线程核心机制 &#x1f525; 问题3&#xff1a;start()与run()的底层执行差异 线程启动流程图解 核心差异对照表 代码验证示例 &#x1f525; 问题4&#xff1a;Thread与Runnable的六大维度对比 类关系UML图 最佳实践代码 &#x1f525; 问题5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目录 ANTLR4基本使用**1. 安装 Java 运行时&#xff08;必需&#xff09;****2. 安装 ANTLR4 命令行工具****方法一&#xff1a;通过包管理器&#xff08;推荐&#xff09;****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二&#xff1a;手动安装&#xff08;…

NixVis 开源轻量级 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 语言开发的、开源轻量级 Nginx 日志分析工具&#xff0c;专为自部署场景设计。它提供直观的数据可视化和全面的统计分析功能&#xff0c;帮助您实时监控网站流量、访问来源和地理分布等关键指标&#xff0c;无需复杂配置即可快速部署使用。 演示…

黑盒测试的等价类划分法(输入数据划分为有效的等价类和无效的等价类)

重点: 有效等价和单个无效等价各取1个即可 1、正向用例:一条尽可能覆盖多条2、逆向用例:每一条数据&#xff0c;都是一条单独用例。 步骤: 1、明确需求 2、确定有效和无效等价 3、根据有效和无效造数据编写用例 3、适用场景 针对:需要有大量数据测试输入&#xff0c; …

Linux Mem -- 通过reserved-memory缩减内存

目录 1. reserved-memory缩减内存 2. 为什么要通过2段512GB预留内存实现该缩减呢&#xff1f; 3. reserved-momery中的no-map属性 4. 预留的的内存是否会被统计到系统MemTotal中&#xff1f; 本文是解决具体的一些思考总结&#xff0c;和Linux内核的reserved-memory机制相关…

多线程—synchronized原理

上篇文章&#xff1a; 多线程—锁策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目录 1 synchronized的锁…

AWS混合云部署实战:打造企业级数字化转型的“黄金架构”

引言 “上云是必然&#xff0c;但全部上云未必是必然。”在数字化转型的深水区&#xff0c;企业面临的核心矛盾日益凸显&#xff1a;如何在享受公有云敏捷性的同时&#xff0c;满足数据主权、低延迟和遗留系统兼容的刚性需求&#xff1f; AWS混合云凭借“云上云下一张网”的独…

进程模型5-0号进程

内核版本架构作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0号进程的作用 在 Linux 中除了 init_task 0号进程&#xff0c;所有的线/进程都是通过 do_fork 函数复制父线/进程创建得到&#xff0c;因为 0号进程产生时没有任何进程可以参照&#xff0c;只能通过静态方式构造进程描述…

计算机二级考前急救(Word篇)

重点题&#xff08;20套&#xff0c;标黄为精选10套&#xff09;&#xff1a;4&#xff0c;15&#xff0c;17&#xff0c;19&#xff0c;21&#xff0c;24&#xff0c;25&#xff0c;27&#xff0c;36&#xff0c;40&#xff0c;12&#xff0c;18&#xff0c;20&#xff0c;22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中&#xff0c;padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 这两个 CSS 属性用于处理 iPhone X 及更高版本设备的安全区域&#xff08;safe area&#xff09;。这些设备的底部有一个“Home Indicator”&a…