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

df.drop()

df.drop() 是 Pandas 中用于删除行或列的方法,可以通过指定标签、轴方向或索引层级来灵活删除。下面我将详细解释每个参数的含义和如何使用它们。

语法

df.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

参数说明

  1. labels:

    • 要删除的行或列的标签。可以传入单个标签,也可以传入标签列表。
    • 示例labels=[0, 2] 表示删除索引为 02 的行。
  2. axis:

    • 指定删除的方向,axis=0 表示删除行,axis=1 表示删除列。
    • 默认值是 0(删除行)。
    • 示例axis=1 表示删除列。
  3. index:

    • 用来指定要删除的行的标签。如果指定了 index,则 labelsaxis 不需要使用。
    • 示例index=[0, 2] 表示删除行索引为 02 的行。
  4. columns:

    • 用来指定要删除的列的标签。如果指定了 columns,则 labelsaxis 不需要使用。
    • 示例columns=['a', 'b'] 表示删除列 ab
  5. level:

    • 如果 DataFrame 使用了多级索引(MultiIndex),可以指定要删除的索引层级。
    • 示例level=0 表示删除第一层的标签。
  6. inplace:

    • 布尔值,决定是否在原始 DataFrame 上进行操作。
    • 默认值为 False,表示返回一个新的 DataFrame,原 DataFrame 不会改变。
    • 如果设置为 True,则会直接在原 DataFrame 上修改,不返回新的 DataFrame。
    • 示例inplace=True 会直接修改原 DataFrame。
  7. errors:

    • 控制删除时的错误处理行为。可以选择 'raise''ignore'
    • 默认值是 'raise',即如果尝试删除不存在的标签,会抛出错误。
    • 如果设置为 'ignore',则会忽略删除不存在标签的错误。
    • 示例errors='ignore' 会在标签不存在时不抛出错误。

举个例子说明:

假设有以下的 DataFrame df

import pandas as pd

data = {'a': [1, 2, 3],
        'b': [4, 5, 6],
        'c': [7, 8, 9]}
df = pd.DataFrame(data, index=[0, 1, 2])

df 的内容是:

   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9
1. 删除指定行
df.drop(labels=1, axis=0)

返回结果:

   a  b  c
0  1  4  7
2  3  6  9
  • 删除了索引为 1 的行,结果返回了新的 DataFrame。
2. 删除指定列
df.drop(columns='b')

返回结果:

   a  c
0  1  7
1  2  8
2  3  9
  • 删除了列 b,返回了新的 DataFrame。
3. 删除多行
df.drop(index=[0, 2])

返回结果:

   a  b  c
1  2  5  8
  • 删除了索引为 02 的行。
4. 删除多列
df.drop(columns=['a', 'c'])

返回结果:

   b
0  4
1  5
2  6
  • 删除了列 ac
5. 使用 inplace=True 修改原 DataFrame
df.drop(labels=1, axis=0, inplace=True)
  • 这会直接在原 DataFrame df 中删除索引为 1 的行,而不返回新的 DataFrame。
6. 使用 errors='ignore' 忽略删除不存在标签的错误
df.drop(labels=10, axis=0, errors='ignore')
  • 由于索引 10 不存在,所以如果设置 errors='ignore',不会抛出错误,直接返回原 DataFrame。

总结:

  • df.drop() 是一个非常灵活的函数,允许你通过指定标签、轴、层级等来删除行或列。
  • 可以通过 inplace=True 来修改原始 DataFrame,避免创建新的 DataFrame。
  • 通过 errors='ignore',可以防止在删除不存在标签时抛出错误。

http://www.kler.cn/a/464592.html

相关文章:

  • stm32入门元件介绍
  • Java 内存溢出(OOM)问题的排查与解决
  • 【数据仓库】hadoop web UI 增加账号密码认证
  • 数据库进阶教程之DDL语句(万字详解)
  • RocketMQ面试题:进阶部分
  • Linux硬盘分区 --- 挂载分区mount、卸载分区umount、永久挂载
  • 【剪映绿化版】剪映免费绿色版,全部功能可用
  • Centos7中安装X11vnc
  • 基于 GPUTasker 的 GPU 使用情况钉钉推送机器人实现
  • 基于Springboot + vue实现的校园周边美食探索及分享平台
  • scrapy 教程
  • 【论文+源码】基于Spring和Spring MVC的汉服文化宣传网站
  • Excel 身份证号计算年龄
  • super_vlan
  • 基于springboot的社区维修平台
  • 【Go学习】-01-2-常见类型及关键字
  • 我的线代观-秩(向量,矩阵)
  • 船用能源管理系统:绿色航运的未来之匙
  • 计算机网络•自顶向下方法:OSPF、BGP与ICMP协议
  • 刷服务器固件
  • 常见的游戏网站大全
  • MySQL-InnoDB数据存储结构
  • 将一个变量声明为全局变量比如:flag1=false;然后通过jQuery使用js一个方法,将它设置为不可修改
  • Linux之ARM(MX6U)裸机篇----7.蜂鸣器实验
  • 2025吉林大学软件学院研究生人工智能原理真题
  • Github拉取项目报错解决