python数据处理库——Pandas

文章目录

    • 数据结构概览
    • 常用数据创建函数
      • 创建DataFrame
      • 创建Series
    • 数据操作函数
      • 选择数据
      • 修改数据
      • 删除数据
    • 数据清洗函数
      • 处理缺失值
    • 数据转换函数
      • 数据类型转换
      • 数据排序
    • 数据聚合函数
      • 描述性统计
      • 聚合函数
    • 数据合并函数
      • 纵向合并
      • 横向合并
    • 数据分组函数
      • 分组和聚合
    • 时间序列函数
      • 时间序列重采样
    • 数据导出与导入函数
      • 导出到CSV
      • 从CSV导入
      • 导出到Excel
      • 从Excel导入
    • 结语


Pandas是Python中用于数据分析和操作的一个极其强大的库。它提供了快速、灵活和富有表达力的数据结构,旨在使数据清洗和分析工作变得更加简单易行。在这篇博客中,我们将深入探讨Pandas中一些最常用的函数及其参数.

数据结构概览

Pandas主要有两种数据结构:

  • Series:一维数组,可以包含任何数据类型。
  • DataFrame:二维表格型数据结构,可以将其想象为一个Excel电子表格。

常用数据创建函数

创建DataFrame

import pandas as pd

data = {
    'Column1': [1, 2, 3, 4],
    'Column2': ['a', 'b', 'c', 'd'],
    'Column3': [True, False, True, False]
}
df = pd.DataFrame(data)

创建Series

s = pd.Series([1, 3, 5, 7], index=['a', 'b', 'c', 'd'])

数据操作函数

选择数据

# 选择单个列,返回Series
column = df['Column1']

# 使用条件表达式选择行
filtered_data = df[df['Column1'] > 2]

修改数据

# 修改DataFrame列名
df.rename(columns={'Column1': 'NewColumn1'}, inplace=True)

# 修改Series索引
s.set_index(['a', 'b', 'c', 'd'], inplace=True)

删除数据

# 删除列
df.drop('Column2', axis=1, inplace=True)

# 删除行
df.drop(df[df['Column1'] < 3].index, inplace=True)

数据清洗函数

处理缺失值

# 删除含有缺失值的行或列
df.dropna(axis=0, how='any', inplace=True)

# 填充缺失值
df.fillna(value=0, inplace=True)

数据转换函数

数据类型转换

# 将列转换为不同的数据类型
df['Column1'] = df['Column1'].astype(str)

数据排序

# 根据某个列的值排序DataFrame
df.sort_values(by='Column1', ascending=False, inplace=True)

数据聚合函数

描述性统计

# 计算统计数据
df.describe()

聚合函数

# 使用agg()函数同时应用多个聚合函数
df.agg(['sum', 'min', 'max'])

数据合并函数

纵向合并

# 纵向堆叠DataFrame
result = pd.concat([df1, df2], ignore_index=True)

横向合并

# 基于某个键合并DataFrame
result = pd.merge(df1, df2, on='CommonColumn', how='inner')

数据分组函数

分组和聚合

# 按列值分组并计算每组的均值
grouped = df.groupby('Column2').mean()

时间序列函数

时间序列重采样

# 将时间序列数据按月重采样并求均值
resampled_data = df.resample('M').mean()

数据导出与导入函数

导出到CSV

# 将DataFrame导出到CSV文件
df.to_csv('output.csv', index=False)

从CSV导入

# 从CSV文件读取数据
df_from_csv = pd.read_csv('input.csv')

导出到Excel

# 将DataFrame导出到Excel文件
df.to_excel('output.xlsx', index=False)

从Excel导入

# 从Excel文件读取数据
df_from_excel = pd.read_excel('input.xlsx')

结语

Pandas库提供了丰富的函数,用于数据的导入、处理、分析和导出。掌握这些函数及其参数,将极大地提升您的数据处理能力。无论是数据清洗、转换、聚合还是可视化,Pandas都是数据分析领域中不可或缺的工具。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#学习第二节课 ,伤害计算

伤害计算 我一直好奇游戏的伤害计算是怎么计算并输出的,这第二节课利用学过的初级语法,Console.WriteLine,Console.ReadLine(),以及基础变量,int,string 和if 判断 组合,来实现打印一下伤害计算吧! 老规矩 先上结果图 代码区域 namespace hello01 {internal class Program …

望繁信科技荣膺上海市浦东新区博士后创新实践基地称号

近日&#xff0c;上海望繁信科技有限公司&#xff08;简称“望繁信科技”&#xff09;凭借在大数据流程智能领域的卓越表现&#xff0c;成功入选上海市浦东新区博士后创新实践基地。这一荣誉不仅是对望繁信科技创新能力和技术实力的高度认可&#xff0c;也标志着公司在推动产学…

EasyCVR视频汇聚平台构建远程安防监控:5大亮点解析,助力安防无死角

随着科技的飞速发展&#xff0c;远程安防监控系统已经成为现代社会中不可或缺的一部分&#xff0c;无论是在小区、公共场所还是工业领域&#xff0c;安防监控都发挥着至关重要的作用。而EasyCVR作为一款功能强大的视频监控综合管理平台&#xff0c;其在构建远程安防监控系统方面…

Qt 学习第六天:页面布局

如何设计页面&#xff1f; 有个类似沙盒模式的玩法&#xff0c;Qt Widget Designer可以更好的帮助我们设计页面 点击.ui文件进入 右上方可以看到四种常见的布局&#xff1a; 四种布局 &#xff08;一&#xff09;水平布局horizontalLayout&#xff1a;QHBoxLayout H 是 hori…

算法之工程化内容(3)—— Docker常用命令

目录 1. 配置docker镜像加速 2. 创建镜像docker-name 3. 查看正在运行的镜像 4. 拉取镜像 5. 运行镜像 6. 停止/启动指定 id 的容器 7. 删除指定 id 的镜像/容器 8. docker发布和部署 (推荐教程&#xff1a;&#x1f69a; 发布和部署 - Docker 快速入门) 1. 配置docke…

【蓝桥杯集训100题】scratch时间计算 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第26题

目录 scratch时间计算 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…

【网络】UDP和TCP之间的差别和回显服务器

文章目录 UDP 和 TCP 之间的差别有连接/无连接可靠传输/不可靠传输面向字节流/面向数据报全双工/半双工 UDP/TCP API 的使用UDP APIDatagramSocket构造方法方法 DatagramPacket构造方法方法 回显服务器&#xff08;Echo Server&#xff09;1. 接收请求2. 根据请求计算响应3. 将…

AdMob聚合平台

Google Admob产品介绍 Google给开发者提供了3款用于流量变现的产品&#xff0c;分别是AdMob&#xff0c;通过应用内广告帮助App开发者变现&#xff1b;AdSense&#xff0c;通过网站广告帮助所有者变现&#xff1b;Google Ads Manager&#xff0c;通过全面管理和优化广告资源&a…

[ICLR-24] LRM: Large Reconstruction Model for Single Image to 3D

[pdf | proj | code] 本文首次提出大型重建模型&#xff08;Large Reconstruction Model, LRM&#xff09;&#xff0c;实现5s内对单图物体的3D重建。在128张A100&#xff08;40G&#xff09;上训练30 epochs。 LRM包含三个部分&#xff0c;具体框架如下&#xff1a; 图片编码…

亚马逊测评号生存法则:如何抵御亚马逊封号风波?

距离黑五购物狂欢节还剩99天&#xff0c;相信各位商家都在紧锣密鼓的筹备相关事宜&#xff0c;然而&#xff0c;亚马逊的封号风波再次席卷而来。那如何在这场风暴中让亚马逊矩阵测评号安全航行亦或是脱颖而出呢&#xff1f;本文将给你一个答案&#xff0c;并帮助你的亚马逊店铺…

【java计算机毕设】足浴城消费系统小程序MySQL ssm vue uniapp maven项目设计源代码 编程语言 小组课后作业 寒暑假作业

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】足浴城消费系统小程序MySQL ssm vue uniapp maven项目设计源代码 编程语言 小组课后作业 寒暑假作业 2项目介绍 系统功能&#xff1a; 足浴城消费系统小程序包括管理员、用户、商家三种角色。 管理员功能&…

Transformer大模型在训练过程中所需的计算量

目录 简介计算需求参数与数据集的权衡计算成本的工程意义内存需求推理模型权重总推理内存训练模型参数优化器状态梯度激活值和批大小总训练内存分布式训练分片优化器3D 并行分片优化器 + 3D 并行参考简介 许多关于Transformer语言模型的基本且重要的信息都可以用相当简单的方式…

C++ 特殊类设计以及单例模式

目录 1 不能被拷贝 2 只能在堆上创建对象 3 只能在栈上创建对象 4 禁止在堆上创建对象 5 不能被继承的类 6 单例类 特殊类就是一些有特殊需求的类。 1 不能被拷贝 要设计一个防拷贝的类&#xff0c;C98之前我们只需要将拷贝构造以及拷贝赋值设为私有&#xff0c;同时只声明…

2024年入职/转行网络安全,该如何规划?_网络安全职业规划

前言 前段时间&#xff0c;知名机构麦可思研究院发布了 《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作为…

探索802.1X:构筑安全网络的认证之盾

在现代网络安全的世界里&#xff0c;有一个极其重要但又常常被忽视的角色&#xff0c;它就是802.1x认证协议。这个协议可以被称作网络安全的守护者&#xff0c;为我们提供了强有力的防护。今天&#xff0c;我们就来深入探讨一下802.1x的原理、应用和测试&#xff0c;看看它是如…

干货|光伏开发全流程

在当今全球能源转型与应对气候变化的背景下&#xff0c;光伏产业作为可再生能源的重要组成部分&#xff0c;正以前所未有的速度发展。光伏开发&#xff0c;即从项目规划到并网发电的全过程&#xff0c;涉及多个环节&#xff0c;每个步骤都至关重要。而其中户用和工商业光伏开发…

DBAPI如何用SQL将多表关联查询出树状结构数据(嵌套JSON格式)

场景描述 假设数据库中有3张表如下&#xff1a; 客户信息表 订单表 订单详情表 一个客户有多个订单&#xff0c;一个订单包含多个产品信息&#xff0c;客户-订单-产品就构成了3级的树状结构&#xff0c;如何查询出如下树状结构数据呢&#xff1f; [{"customer_age"…

Notion使用详解

​ ​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 Notion是一款集笔记、任务管理、知识库、文档协作等多功能于一体的生产力工具。其灵活性和可定制性使得它在个人和团队协作中都非常受欢迎。本教程将详细介绍如何使用Notion的基本功能&#xff0c;帮助你快速上手并充分…

【云原生】Ingress控制器超级详解

Ingress资源对象 文章目录 Ingress资源对象一、Ingress1.1、Ingress是什么&#xff1f;1.2、Ingress术语1.3、Ingress类型 二、Ingress详细2.1、部署Nginx-Ingress控制器2.2、最小Ingress资源2.3、Ingress规则 三、一个域名多个访问路径多SVC四、多域名Ingress五、转发到默认Se…

【C语言小项目】五子棋游戏

目录 前言 一、游戏规则 1.功能分析 2.玩法分析 3.胜负判定条件 二、游戏实现思路 三、代码实现与函数封装 1.项目文件创建 2.头文件说明 3.函数封装 1&#xff09;菜单实现 2&#xff09;进度条实现 3&#xff09;main函数实现 4&#xff09;Game函数 5&#xff0…