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  12
   B   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 的数据类型。

相关推荐

  1. pandas学习read_excel函数

    2024-07-19 09:08:02       16 阅读
  2. Pandas学习DataFrame.replace()函数

    2024-07-19 09:08:02       21 阅读
  3. Pandas学习DataFrame.drop()函数

    2024-07-19 09:08:02       22 阅读
  4. NumPy学习logspace函数

    2024-07-19 09:08:02       21 阅读
  5. Python学习-Pandas详解

    2024-07-19 09:08:02       37 阅读
  6. Matplotlib学习figure.add_subplot函数

    2024-07-19 09:08:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 09:08:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 09:08:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 09:08:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 09:08:02       69 阅读

热门阅读

  1. Kotlin 协程简化回调

    2024-07-19 09:08:02       21 阅读
  2. YOLOv8_ ByteTrack目标跟踪、模型部署

    2024-07-19 09:08:02       22 阅读
  3. Git 和 Subversion (SVN)的全方面对比

    2024-07-19 09:08:02       21 阅读
  4. 使用 com.alibaba:easyexcel 导出excel文件时遇到的问题

    2024-07-19 09:08:02       23 阅读
  5. 浏览器的卡顿与react的解决思路

    2024-07-19 09:08:02       20 阅读
  6. Zabbix的安装部署及使用流程

    2024-07-19 09:08:02       25 阅读
  7. 速盾:cdn是啥?cdn是什么?

    2024-07-19 09:08:02       24 阅读
  8. Spark on YARN

    2024-07-19 09:08:02       23 阅读
  9. 算法日记day 13(删除字符串中的所有重复元素)

    2024-07-19 09:08:02       22 阅读
  10. 【html】html的基础知识(面试重点)

    2024-07-19 09:08:02       21 阅读
  11. Zookeeper集群搭建问题

    2024-07-19 09:08:02       23 阅读