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

Pandas库学习之DataFrame.drop()函数

Pandas库学习之DataFrame.drop()函数

一、简介

DataFrame.drop 是 Pandas 库中一个非常实用的函数,用于删除 DataFrame 中的行或列。通过指定列名或行索引,可以灵活地从数据集中移除不需要的数据。这对于数据清洗和预处理非常有用。

二、语法和参数

DataFrame.drop(labels, axis=0, index=False, columns=False, level=None, inplace=False)

参数

  • labels: 要删除的标签,可以是数组、列表、元组或单个标签。
  • axis: 删除的轴,0 表示行,1 表示列,默认为 0。
  • index: 如果为 True,则删除标签为索引。
  • columns: 如果为 True,则删除标签为列。
  • level: 指定删除标签的级别,仅在使用多级索引时有效。
  • inplace: 如果为 True,则在原地修改 DataFrame,否则返回一个新的 DataFrame。

三、实例

3.1 删除指定行
import pandas as pd# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
})# 删除第一行
result = df.drop(0)
print(result)

输出:

   A   B   C
1  2   6  10
2  3   7  11
3  4   8  12
3.2 删除指定列
# 删除列 'B'
result = df.drop('B', axis=1)
print(result)

输出:

   A   C
0  1   9
1  2  10
2  3  11
3  4  12
3.3 删除多个行和列
import pandas as pd# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
})# 删除列 'B'
result = df.drop(columns='B', axis=1)
print(result)

输出:

   A   B
0  1   5
2  3   7
3  4   8
3.4 使用 inplace 修改原 DataFrame
import pandas as pd# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
})
print(df)
# 删除列 'A' 并直接修改原 DataFrame
df.drop('A', axis=1, inplace=True)
print(df)

输出:

   A  B   C
0  1  5   9
1  2  6  10
2  3  7  11
3  4  8  12B   C
0  5   9
1  6  10
2  7  11
3  8  12

四、注意事项

  1. 索引和列名:确保删除的标签是存在的,否则会引发 KeyError。
  2. inplace 参数:使用 inplace=True 时,原 DataFrame 会被修改,不返回新的 DataFrame。
  3. 多级索引:在使用多级索引时,level 参数可以指定删除标签的级别。
  4. 数据类型:删除操作不会影响 DataFrame 的数据类型。
http://www.lryc.cn/news/402302.html

相关文章:

  • WHAT - 介绍一个不太一样的 UI 组件库 shadcn/ui
  • python--实验 11 模块
  • Vue3+Vite+TS+Axios整合详细教程
  • 【深度学习入门篇 ⑨】循环神经网络实战
  • 宝塔安装RabbitMq教程
  • 韦东山嵌入式linux系列-驱动进化之路:设备树的引入及简明教程
  • 长轮询(Long Polling)实现原理和java代码示例
  • OWASP 移动应用 2024 十大安全风险
  • Qt界面假死原因
  • python调用MATLAB出错matlab.engine.MatlabExecutionError无法调用MATLAB函数报错
  • [GXYCTF2019]Ping Ping Ping1
  • 成为git砖家(1): author 和 committer 的区别
  • Lianwei 安全周报|2024.07.15
  • Linux - 基础开发工具(yum、vim、gcc、g++、make/Makefile、git、gdb)
  • Git使用介绍教程
  • STM32的TIM1之PWM互补输出_死区时间和刹车配置
  • C++复习的长文指南
  • 深入了解MySQL文件排序
  • 【JAVA基础】反射
  • 贪心算法(2024/7/16)
  • Python 在Word表格中插入、删除行或列
  • Java二十三种设计模式-单例模式(1/23)
  • Unity动画系统(3)---融合树
  • sqlalchemy.orm中validates对两个字段进行联合校验
  • 【ROS2】高级:解锁 Fast DDS 中间件的潜力 [社区贡献]
  • VirtualBox虚拟机与主机互传文件的方法
  • 访问控制系列
  • 【BUG】已解决:ModuleNotFoundError: No module named ‘cv2’
  • 成都亚恒丰创教育科技有限公司 【插画猴子:笔尖下的灵动世界】
  • gite+picgo+typora打造个人免费笔记软件