- Python Pandas 教程
- Python Pandas - 首页
- Python Pandas - 简介
- Python Pandas - 环境设置
- Python Pandas - 基础
- Python Pandas - 数据结构介绍
- Python Pandas - 索引对象
- Python Pandas - Panel
- Python Pandas - 基本功能
- Python Pandas - 索引和数据选择
- Python Pandas - Series
- Python Pandas - Series
- Python Pandas - 切片 Series 对象
- Python Pandas - Series 对象的属性
- Python Pandas - Series 对象的算术运算
- Python Pandas - 将 Series 转换为其他对象
- Python Pandas - DataFrame
- Python Pandas - DataFrame
- Python Pandas - 访问 DataFrame
- Python Pandas - 切片 DataFrame 对象
- Python Pandas - 修改 DataFrame
- Python Pandas - 删除 DataFrame 中的行
- Python Pandas - DataFrame 的算术运算
- Python Pandas - I/O 工具
- Python Pandas - I/O 工具
- Python Pandas - 使用 CSV 格式
- Python Pandas - 读取和写入 JSON 文件
- Python Pandas - 从 Excel 文件读取数据
- Python Pandas - 将数据写入 Excel 文件
- Python Pandas - 使用 HTML 数据
- Python Pandas - 剪贴板
- Python Pandas - 使用 HDF5 格式
- Python Pandas - 与 SQL 的比较
- Python Pandas - 数据处理
- Python Pandas - 排序
- Python Pandas - 重索引
- Python Pandas - 迭代
- Python Pandas - 级联
- Python Pandas - 统计函数
- Python Pandas - 描述性统计
- Python Pandas - 使用文本数据
- Python Pandas - 函数应用
- Python Pandas - 选项和自定义
- Python Pandas - 窗口函数
- Python Pandas - 聚合
- Python Pandas - 合并/连接
- Python Pandas - 多级索引
- Python Pandas - 多级索引基础
- Python Pandas - 使用多级索引进行索引
- Python Pandas - 使用多级索引的高级重索引
- Python Pandas - 重命名多级索引标签
- Python Pandas - 对多级索引进行排序
- Python Pandas - 二元运算
- Python Pandas - 二元比较运算
- Python Pandas - 布尔索引
- Python Pandas - 布尔掩码
- Python Pandas - 数据重塑和透视
- Python Pandas - 透视
- Python Pandas - 堆叠和取消堆叠
- Python Pandas - 熔化
- Python Pandas - 计算虚拟变量
- Python Pandas - 分类数据
- Python Pandas - 分类数据
- Python Pandas - 分类数据的排序和分类
- Python Pandas - 比较分类数据
- Python Pandas - 处理缺失数据
- Python Pandas - 缺失数据
- Python Pandas - 填充缺失数据
- Python Pandas - 缺失值的插值
- Python Pandas - 删除缺失数据
- Python Pandas - 使用缺失数据的计算
- Python Pandas - 处理重复项
- Python Pandas - 重复数据
- Python Pandas - 计数和检索唯一元素
- Python Pandas - 重复标签
- Python Pandas - 分组和聚合
- Python Pandas - GroupBy
- Python Pandas - 时间序列数据
- Python Pandas - 日期功能
- Python Pandas - Timedelta
- Python Pandas - 稀疏数据结构
- Python Pandas - 稀疏数据
- Python Pandas - 可视化
- Python Pandas - 可视化
- Python Pandas - 其他概念
- Python Pandas - 警告和陷阱
- Python Pandas 有用资源
- Python Pandas - 快速指南
- Python Pandas - 有用资源
- Python Pandas - 讨论
Python Pandas - 删除 DataFrame 中的行
Pandas DataFrame 是一种二维数据结构,用于以表格格式排列数据,包含行和列。DataFrame 通常用于 Python 中的数据分析和处理任务,可以有效地处理大型数据集。数据预处理中的一个常见任务包括根据给定条件删除包含不相关、缺失或特定值的多个或不需要的行。
在本教程中,我们将学习各种从 pandas DataFrame 中删除/删除多行的技术,例如使用.drop()方法、根据条件删除行以及使用索引切片。
使用 drop() 方法删除行
pandas 的DataFrame.drop()方法用于从 pandas DataFrame 中删除特定行。它可以用于根据标签或位置(基于整数的索引)删除行,并返回一个删除了所选行的新 DataFrame。
示例:根据索引值删除 DataFrame 行
这是一个根据其索引值使用DataFrame.drop()方法从 DataFrame 对象删除行的基本示例。
import pandas as pd # Create a DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5],'B': [4, 5, 6, 7, 8]}) # Display original DataFrame print("Original DataFrame:") print(df) # Drop the row with index 5 result = df.drop(3) # Display the result print("\nAfter dropping the row at index 5:") print(result)
以下是上述代码的输出:
Original DataFrame: A B 0 1 4 1 2 5 2 3 6 3 4 7 4 5 8 After dropping the row at index 5: A B 0 1 4 1 2 5 2 3 6 4 5 8
注意:如果 DataFrame 的索引中找不到指定的行标签或索引,此方法将引发KeyError。可以通过将 errors 参数从 raise 设置为 ignore 来抑制此错误。
示例:根据标签删除 DataFrame 行
与之前的示例类似,以下示例将使用DataFrame.drop()方法根据其行标签从 DataFrame 中删除多行。
import pandas as pd # Create a DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5],'B': [4, 5, 6, 7, 8], 'C': [9, 10, 11, 12, 13]}, index=['r1', 'r2', 'r3', 'r4', 'r5']) # Display original DataFrame print("Original DataFrame:") print(df) # Drop the rows by row-labels result = df.drop(['r1', 'r3']) # Display the result print("\nAfter dropping the rows:") print(result)
以下是上述代码的输出:
Original DataFrame: A B C r1 1 4 9 r2 2 5 10 r3 3 6 11 r4 4 7 12 r5 5 8 13 After dropping the row: A B C r2 2 5 10 r4 4 7 12 r5 5 8 13
根据条件删除行
也可以根据条件表达式删除行,这意味着可以使用选择括号[]内的条件来过滤行。此技术通常用于删除满足特定条件的行。
示例
此示例演示了如何根据[]中指定的条件语句从 Pandas DataFrame 中删除一行或多行。在此示例中,行删除基于 DataFrame 的列值。
import pandas as pd # Create a DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5],'B': [4, 5, 6, 7, 8], 'C': [90, 0, 11, 12, 13]}, index=['r1', 'r2', 'r3', 'r4', 'r5']) # Display original DataFrame print("Original DataFrame:") print(df) # Dropping rows where column 'C' contains 0 result = df[df["C"] != 0] # Display the result print("\nAfter dropping the row where 'C' has 0:") print(result)
以下是上述代码的输出:
Original DataFrame: A B C r1 1 4 90 r2 2 5 0 r3 3 6 11 r4 4 7 12 r5 5 8 13 After dropping the row where 'C' has 0: A B C r1 1 4 90 r3 3 6 11 r4 4 7 12 r5 5 8 13
使用索引切片删除行
这是删除或删除行的另一种方法,使用索引切片。此技术根据其索引位置删除一定范围的行。
示例
此示例演示了如何使用索引切片从 DataFrame 中删除单行或多行。
import pandas as pd # Create a DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5],'B': [4, 5, 6, 7, 8]}) # Display original DataFrame print("Original DataFrame:") print(df) # Drop the row using the index slicing result = df.drop(df.index[2:4]) # Display the result print("\nAfter dropping the row at 2 and 3:") print(result)
以下是上述代码的输出:
Original DataFrame: A B 0 1 4 1 2 5 2 3 6 3 4 7 4 5 8 After dropping the row at 2 and 3: A B 0 1 4 1 2 5 4 5 8