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

【Pandas】pandas DataFrame drop

Pandas2.2 DataFrame

Reindexing selection label manipulation

方法描述
DataFrame.add_prefix(prefix[, axis])用于在 DataFrame 的行标签或列标签前添加指定前缀的方法
DataFrame.add_suffix(suffix[, axis])用于在 DataFrame 的行标签或列标签后添加指定后缀的方法
DataFrame.align(other[, join, axis, level, …])用于对齐两个 DataFrameSeries 的方法
DataFrame.at_time(time[, asof, axis])用于筛选 特定时间点 的行的方法
DataFrame.between_time(start_time, end_time)用于筛选 指定时间范围内的数据行 的方法
DataFrame.drop([labels, axis, index, …])用于从 DataFrame 中删除指定行或列的方法

pandas.DataFrame.drop()

pandas.DataFrame.drop() 是一个用于从 DataFrame 中删除指定行或列的方法。可以根据标签(label)删除整行或整列,常用于数据清洗和预处理。


📌 方法签名
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

🔧 参数说明:
参数类型说明
labels单个标签或标签列表要删除的行或列名(取决于 axis
axis{0/'index', 1/'columns'},默认为 0指定删除的是行还是列
index标签或标签列表直接指定要删除的行索引(替代 labels + axis=0
columns标签或标签列表直接指定要删除的列名(替代 labels + axis=1
levelint 或 str,可选多级索引时指定层级
inplacebool,默认 False是否在原对象上修改
errors{'ignore', 'raise'},默认 'raise'如果标签不存在是否报错

✅ 返回值:
  • 返回一个新的 DataFrame,不修改原始数据(除非 inplace=True)。

🧪 示例代码:
示例 1:删除列
import pandas as pd# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6],'C': [7, 8, 9]
})# 删除列 'B'
df_drop_col = df.drop(columns='B')print("Original DataFrame:")
print(df)
print("\nAfter dropping column 'B':")
print(df_drop_col)
输出结果:
Original DataFrame:A  B  C
0  1  4  7
1  2  5  8
2  3  6  9After dropping column 'B':A  C
0  1  7
1  2  8
2  3  9

示例 2:删除多列
# 删除列 'A' 和 'C'
df_drop_cols = df.drop(columns=['A', 'C'])print("After dropping columns 'A' and 'C':")
print(df_drop_cols)
After dropping columns 'A' and 'C':B
0  4
1  5
2  6

示例 3:删除行(通过 labels + axis)
# 删除第 0 行和第 2 行
df_drop_rows = df.drop([0, 2], axis=0)print("After dropping rows 0 and 2:")
print(df_drop_rows)
After dropping rows 0 and 2:A  B  C
1  2  5  8

示例 4:使用 index 参数删除行
# 设置行索引
df_indexed = pd.DataFrame({'A': [10, 20, 30],'B': [40, 50, 60]
}, index=['x', 'y', 'z'])# 删除索引为 'x' 的行
df_dropped_index = df_indexed.drop(index='x')print("After dropping index 'x':")
print(df_dropped_index)
After dropping index 'x':A   B
y  20  50
z  30  60

示例 5:忽略不存在的标签
# 尝试删除不存在的列,设置 errors='ignore'
df_ignore = df.drop(columns='D', errors='ignore')print("After trying to drop non-existent column 'D' with errors='ignore':")
print(df_ignore)
After trying to drop non-existent column 'D' with errors='ignore':A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

🧠 应用场景:
  • 数据清洗中删除无意义或冗余的列;
  • 删除异常值所在的行;
  • 预处理时移除缺失值较多的列;
  • 构建特征集时剔除目标变量。

⚠️ 注意事项:
  • 默认不会修改原始 DataFrame,除非设置 inplace=True
  • 若尝试删除不存在的标签,默认会抛出错误,可通过 errors='ignore' 忽略;
  • 支持多级索引,可通过 level 参数指定层级。

http://www.xdnf.cn/news/690589.html

相关文章:

  • Transformer核心技术解析LCPO方法:精准控制推理长度的新突破
  • Redis学习(十四)主从复制的工作原理、集群搭建(一主二从)
  • Android 云手机横屏模式下真机键盘遮挡输入框问题处理
  • [AD] Noxious LLMNR+DHCP+NTLMv2+Kerberos+SMB
  • 高精度导航 | RTK:2025年高精度导航算法综述,包括:原理,数据,公式,完整代码,开源代码链接
  • 网络协议之办公室网络是怎样的?
  • Mac M1编译OpenCV获取libopencv_java490.dylib文件
  • xcode 旧版本、历史版本下载
  • 【C/C++】高性能网络编程之Reactor模型
  • 网站缓存入门与实战:浏览器与Nginx/Apache服务器端缓存,让网站速度起飞!(2025)
  • git配置(1): 根据remote自动选择账号执行commit
  • MCU - SPI总线介绍 + W25Qx驱动设计
  • node-DeepResearch开源ai程序用于深入调查查询,继续搜索、阅读网页、推理,直到找到答案
  • SpringBoot项目快速打包与部署,War包⽅式打包部署与Jar包⽅式打包部署两种方式
  • 迁移学习模型构建指南(Python实现)
  • 云服务器系统盘满了,但是其他正常,是否可能是被攻击了
  • electron开发百度桌面应用demo及如何打包应用
  • SpringBoot 执行Lua脚本 服务端执行 减少性能损耗 优化性能 优化连接性能
  • linux使用服务添加一个开机启动脚本
  • 同一机器下通过HTTP域名访问其他服务器进程返回504问题记录
  • 服务器带宽线路的区别(GIA、CN2、BGP、CMI等)
  • Python教程(七)——错误和异常
  • Rust并发编程实践指南
  • Hadoop复习(一)
  • LVS-DR 负载均衡群集
  • LeetCode Hot100 (普通数组)
  • 深入解析 IP 代理:原理、应用场景与优化策略
  • ubuntu20.04安装NVIDIA显卡驱动(驱动官网下载安装包,解决开机启动黑屏问题,终极保姆式方案教程)
  • 51c~CUDA~合集1
  • Nginx内置变量及案例详解