当前位置: 首页 > 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 参数指定层级。

相关文章:

  • 九、【前后端联调篇】Vue3 + Axios 异步通信实战
  • 探索C++标准模板库(STL):String接口实践+底层的模拟实现(中篇)
  • GitHub 趋势日报 (2025年05月27日)
  • Linux中基础IO(下)
  • Flink CEP实践总结:使用方法、常见报错、优化与难点应对
  • 【Redis】基本架构
  • java导入excel
  • Android-Room + WorkManager学习总结
  • Python生成ppt(python-pptx)N问N答(如何绘制一个没有背景的矩形框;如何绘制一个没有背景的矩形框)
  • Pytest 是什么
  • Function calling和mcp区别
  • 【pycharm】如何连接远程仓库进行版本管理(应用版本)
  • OpenWrt 插件安装失败的常见问题和解决方法
  • LeetCode 169:多数元素 - 摩尔投票法的精妙解法
  • 8.5 Q1|中山大学CHARLS发文 | 甘油三酯葡萄糖-腰身高比指数与中国中老年人心血管疾病的关系
  • 删除队列中整数
  • nova14 ultra,是如何防住80°C热水和10000KPa水压冲击的?
  • Windows下的Qtxlsx下载和编译打包成库
  • 办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱
  • Dockerfile正确写法之现代容器化构建的最佳实践
  • xmlrpc wordpress关闭/pc网站优化排名
  • 高端模板网站建设/精准客源推广引流
  • 网站设计怎么写/b站推广网站入口
  • 网站建设 昆明/外贸网站建设优化推广
  • 网站推广服务网址/百度惠生活商家入驻
  • 研究院 网站建设/如何推广自己的网站