第十五章: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.rhkb.cn/news/43366.html

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

相关文章

算法为舟 思想为楫:AI时代,创作何为?

在科技浪潮汹涌澎湃的当下,AI技术以前所未有的态势席卷各个领域,创作领域亦未能幸免。当生成式AI展现出在剧本撰写、诗歌创作、图像设计等方面的惊人能力时,人类创作者仿佛置身于文明演化的十字路口,迷茫与困惑交织,兴奋与担忧并存。在AI时代,创作究竟该何去何从?这不仅…

[Raspberry Pi]如何將看門狗(WatchDog)服務建置在樹莓派的Ubuntu作業系統中?

看門狗(WatchDog)服務常應用於連網的嵌入式邊緣設備等IOT裝置和實體伺服器&#xff0c;主要是若這些連網裝置分散在各個應用環境中執行對應任務&#xff0c;例如感測物理數據&#xff0c;監控影像數據或執行各式Docker服務&#xff0c;當連網裝置因故異常&#xff0c;同時又處於…

Linux进程状态补充(10)

文章目录 前言一、阻塞二、挂起三、运行R四、休眠D五、四个重要概念总结 前言 上篇内容大家看的云里雾里&#xff0c;这实在是正常不过&#xff0c;因为例如 写实拷贝 等一些概念的深层原理我还没有讲解&#xff0c;大家不用紧张&#xff0c;我们继续往下学习就行&#xff01;&…

RPCGC阅读

24年的MM 创新 现有点云压缩工作主要集中在保真度优化上。 而在实际应用中&#xff0c;压缩的目的是促进机器分析。例如&#xff0c;在自动驾驶中&#xff0c;有损压缩会显着丢失户外场景的详细信息。在三维重建中&#xff0c;压缩过程也会导致场景数据中语义信息(Contour)的…

keil中文注释出现乱码怎么解决

keil中文注释出现乱码怎么解决 在keil–edit–configuration中encoding改为chinese-GB2312

Linux的进程优先级调度学习笔记

Linux的进程优先级数值范围 范围 -20 到 19&#xff0c;数值越大优先级越低 示例代码 下面是一个简单的 C 语言示例&#xff0c;它演示了如何在 Linux 下修改进程的优先级并观察调度影响。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> …

YOLOv8+ Deepsort+Pyqt5车速检测系统

该系统通过YOLOv8进行高效的目标检测与分割&#xff0c;结合DeepSORT算法完成目标的实时跟踪&#xff0c;并利用GPU加速技术提升处理速度。系统支持模块化设计&#xff0c;可导入其他权重文件以适应不同场景需求&#xff0c;同时提供自定义配置选项&#xff0c;如显示标签和保存…

权限提升—Windows权限提升进程注入令牌窃取服务启动

前言 依旧是提权的内容啦&#xff0c;上次讲的是利用漏洞来进行提权&#xff0c;今天我们主要讲的是利用Windows中的服务、进程等东西进行权限提升。 服务启动 首先要知道一点&#xff0c;就是windows中服务是以system权限运行的&#xff0c;假如我们创建一个运行后门的服务…

数据结构与算法——顺序表之手撕OJ题

文章目录 一、前言二、拿捏OJ题2.1移除元素2.2删除有序数组中的重复项2.3合并两个有序数组 三、总结 一、前言 Do you study today?up在上一次已经讲解完毕了有关顺序表的所有知识&#xff0c;不知道大家是否已经沉淀完毕了呢&#xff1f;有一句老话说得好啊——光看不练假把…

如何在 AI 搜索引擎(GEO)霸屏曝光,快速提升知名度?

虽然大多数人仍然使用 Google 来寻找答案&#xff0c;但正在发生快速转变。ChatGPT、Copilot、Perplexity 和 DeepSeek 等 LLM 已成为主流。这主要是因为每个都有自己的免费和公共版本&#xff0c;并且总是有重大的质量改进。 许多人每天都使用这些工具来提问和搜索互联网&…

4.训练篇2-毕设篇

resnet # 1. 从 torchvision 中加载预训练的 ResNet18 模型 # pretrainedTrue 表示使用在 ImageNet 上预训练过的参数&#xff0c;学习效果更好 base_model_resnet18 models.resnet18(pretrainedTrue)# 2. 获取 ResNet18 模型中全连接层&#xff08;fc&#xff09;的输入特征…

电磁兼容EMC概述

最近重新学了下电磁兼容&#xff0c;对这个东西更清晰了一些&#xff0c;就重新写了一篇&#xff0c;有不足的地方欢迎的大家在评论区里和我交流。 电磁兼容 电磁兼容指的是什么呢&#xff1f;指的是设备在其电磁环境中性能不受降级地正常运行并不对其他设备造成无法承受的电…

坚持“大客户战略”,昂瑞微深耕全球射频市场

北京昂瑞微电子技术股份有限公司&#xff08;简称“昂瑞微”&#xff09;是一家聚焦射频与模拟芯片设计的高新技术企业。随着5G时代的全面到来&#xff0c;智能手机、智能汽车等终端设备对射频前端器件在通信频率、多频段支持、信道带宽及载波聚合等方面提出了更高需求&#xf…

AI赋能职教革新:生成式人工智能(GAI)认证重构技能人才培养新范式

在数字化浪潮的推动下&#xff0c;职业教育正经历着前所未有的变革。面对快速变化的市场需求和技术发展&#xff0c;如何培养具备高技能、高素质的人才成为了职业教育的重要课题。而在这个过程中&#xff0c;人工智能&#xff08;AI&#xff09;技术的融入&#xff0c;无疑为职…

Python:日志管理器配置

日志模块组件&#xff1a; 日志器logger&#xff1a;提供应用程序调用的接口 处理器handler&#xff1a;将日志发送到指定的位置 过滤器filter&#xff1a;过滤日志信息 格式器formatter&#xff1a;格式化输出日志 如何配置日志管理器&#xff1a; #导入模块 import log…

城电科技|零碳园区光伏太阳花绽放零碳绿色未来

近日&#xff0c;珠海城电科技自主研发生产的三轴跟踪光伏太阳花在长沙某智慧零碳园区完成安装调试&#xff0c;正式投入运营。作为集“科技能源艺术”于一体的新能源太阳能光伏发电设备&#xff0c;这一创新艺术光伏景观不仅为园区注入绿色动能&#xff0c;更凭借独特的科技美…

c++ - 右击一个cpp文件,但是编译菜单项是灰的

文章目录 c - 右击一个cpp文件&#xff0c;但是编译菜单项是灰的概述END c - 右击一个cpp文件&#xff0c;但是编译菜单项是灰的 概述 VS2019, 整理工程&#xff0c;在编译&#xff0c;工程报错&#xff0c;说有个函数的实现没找到。 有实现part_opt.cpp&#xff0c;头文件也…

29_项目

目录 http.js 1、先注册账号 register.html 2、再登录 login.html 3、首页 index.html 4 详情 details.html cart.html css index.css register.css details.css 演示 进阶 http.js let baseURL "http://localhost:8888"; let resgiterApi baseURL &…

vmware 创建win10 系统,虚拟机NAT网络设置

虚拟机设置&#xff1a; 物理机本机创建桥接&#xff1a; 如何创建桥接&#xff0c;请自行脑补~

API 请求需要证书认证? 如何在 Postman 中正确配置和使用?

本文来介绍 Postman 提供的管理证书功能如何配置&#xff0c;要了解更多相关的知识&#xff0c;可访问 Postman 证书 模块。 管理客户端证书&#xff0c;点击对应的按钮&#xff0c;首先选择 SETTINGS &#xff0c;然后选择 Certificate 选项卡&#xff0c;如图所示&#xff1…