当前位置: 首页 > news >正文

数据科学和机器学习的“看家兵器”——pandas模块 之四

目录

  4.4 pandas 数据处理与转换

  一、课程目标

  二、修改行标签和修改列标签

  (一)修改列标签

  (二)修改行标签

  三、查找和替换数据

  (一)一对一替换

  (二)多对一替换

  (三)多对多替换

  四、数据处理

  (一)插入数据

  (二)删除数据

  五、处理数据表中的缺失值

  (一)查看缺失值

  (二)删除缺失值

  (三)缺失值的补充

  六、处理重复数据

  (一)删除重复行

  (二)获取某一列数据的唯一值

  七、数据的排序操作

  (一)使用 sort_values () 函数排序

  (二)使用 rank () 函数获取数据排序

  八、筛选数据

  (一)通过比较运算筛选

  (二)多条件筛选

  九、课程回顾和小结


  4.4 pandas 数据处理与转换

  一、课程目标

  本次课程主要围绕 pandas 的数据处理与转换功能展开,通过理论讲解和案例分析,让学员掌握修改标签、查找替换数据、处理缺失值和重复数据、排序和筛选等数据处理技巧。学员学完本次课程后,能够熟练使用 pandas 进行数据的清洗、转换和预处理。

  二、修改行标签和修改列标签

  在数据分析过程中,我们经常需要修改 DataFrame 的行标签或列标签,以提高数据的可读性或便于后续操作。

  (一)修改列标签

  pandas 提供了多种方法来修改列标签。

import pandas as pd
import numpy as np# 创建示例数据
np.random.seed(42)
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Age': [25, 30, 35, 40, 45],'Gender': ['F', 'M', 'M', 'M', 'F'],'Score': [85, 90, 78, 92, 88]
}
df = pd.DataFrame(data)print("原始数据:")
print(df)# 方法一:直接修改列属性
df.columns = ['姓名', '年龄', '性别', '分数']
print("\n修改列标签后:")
print(df)# 方法二:使用rename()方法
df = df.rename(columns={'姓名': '学生姓名', '分数': '成绩'})
print("\n使用rename()方法修改列标签后:")
print(df)# 方法三:修改部分列标签
df = df.rename(columns={'年龄': '学生年龄', '性别': '学生性别'})
print("\n修改部分列标签后:")
print(df)

  这个案例展示了三种修改列标签的方法:直接修改列属性、使用rename()方法和修改部分列标签。rename()方法更为灵活,可以选择性地修改部分列标签。

  (二)修改行标签

  修改行标签的方法与修改列标签类似。

# 重置索引
df = df.reset_index(drop=True)
print("\n重置索引后:")
print(df)# 方法一:直接修改索引属性
df.index = ['A', 'B', 'C', 'D', 'E']
print("\n修改行标签后:")
print(df)# 方法二:使用rename()方法
df = df.rename(index={'A': 'a', 'B': 'b'})
print("\n使用rename()方法修改行标签后:")
print(df)# 方法三:设置某一列为索引
df = df.set_index('学生姓名')
print("\n设置学生姓名为索引后:")
print(df)

  这个案例展示了三种修改行标签的方法:直接修改索引属性、使用rename()方法和设置某一列为索引。设置某一列为索引是常见的操作,可以方便后续的数据查询和处理。

  三、查找和替换数据

  在数据分析过程中,我们经常需要查找特定的数据并进行替换。pandas 提供了灵活的查找和替换功能。

  (一)一对一替换

  一对一替换是指将一个值替换为另一个值。

# 重置索引和列名
df = df.reset_index()
df.columns = ['姓名', '年龄', '性别', '成绩']
print("原始数据:")
print(df)# 替换单个值
df_replace = df.replace('M', '男')
print("\n将'M'替换为'男'后:")
print(df_replace)# 替换数值
df_replace = df_replace.replace(35, 36)
print("\n将35替换为36后:")
print(df_replace)

  这个案例展示了如何进行一对一替换,使用replace()方法可以轻松实现。

  (二)多对一替换

  多对一替换是指将多个不同的值替换为同一个值。

# 多对一替换
df_replace = df.replace(['Alice', 'Bob', 'Charlie'], 'Student')
print("\n将'Alice'、'Bob'、'Charlie'替换为'Student'后:")
print(df_replace)# 使用字典进行多对一替换
df_replace = df.replace({'M': '男', 'F': '女'})
print("\n使用字典进行多对一替换后:")
print(df_replace)

  这个案例展示了两种多对一替换的方法:使用列表和使用字典。使用字典可以更清晰地指定替换规则。

  (三)多对多替换

  多对多替换是指将多个值替换为另外多个值。

# 多对多替换
df_replace = df.replace({'Alice': 'A', 'Bob': 'B', 'Charlie': 'C', 'David': 'D', 'Eve': 'E'})
print("\n多对多替换后:")
print(df_replace)# 替换数值范围
d
http://www.xdnf.cn/news/458461.html

相关文章:

  • 红黑树:数据世界的平衡守护者
  • Android开发-在应用之间共享数据
  • HTML 表格与div深度解析区别及常见误区
  • 【Linux】socket网络编程基础
  • 解决ubuntu20中tracker占用过多cpu,引起的风扇狂转
  • 从算力困境到创新突破:GPUGEEK如何重塑我的AI开发之旅
  • 【HCIA】策略路由
  • C#+WPF+prism+materialdesign创建工具主界面框架
  • 安装win11硬盘分区MBR还是GPT_装win11系统分区及安装教程
  • MongoDB数据库深度解析:架构、特性与应用场景
  • MySQL-数据库分布式XA事务
  • 深度解析 Meta 开源 MR 项目《North Star》:从交互到渲染的沉浸式体验设计
  • 可解释性AI 综述《Explainable AI for Industrial Fault Diagnosis: A Systematic Review》
  • elementUI 循环出来的表单,怎么做表单校验?
  • elementUI如何动态增减表单项
  • 【Trae插件】从0到1,搭建一个能够伪装成网页内容的小说阅读Chrome插件
  • 交叉编译源码的方式移植ffmpeg-rockchip
  • 【学习心得】WSL2安装Ubuntu22.04
  • 前端npm的核心作用与使用详解
  • 【kafka】基本命令
  • Node.js 循环依赖问题详解:原理、案例与解决方案
  • 【hadoop】Kafka 安装部署
  • “傅里叶变换算法”来检测纸箱变形的简单示例
  • Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七)
  • MySQL 8.0 OCP 1Z0-908 101-110题
  • 【Conda】环境应用至JupyterLab
  • 使用java -jar命令指定VM参数-D运行jar包报错问题
  • 游戏引擎学习第281天:在房间之间为摄像机添加动画效果
  • 【虚幻引擎】UE5独立游戏开发全流程(商业级架构)
  • 什么是路由器环回接口?