Pandas 从DataFrame中删除多行
Python中的pandas库广泛用于以表格形式表示数据。数据集被排列成由行和列组成的二维矩阵。Pandas库提供了许多函数,可以帮助程序员通过提供有价值的数学洞察来分析数据集。
表格数据结构被称为数据帧,可以通过pandas的DataFrame()函数生成。在本文中,我们将执行一个简单的操作,从pandas数据帧中删除/丢弃多行。
首先,我们需要准备一个数据集,然后使用pandas的“DataFrame()”函数生成一个数据帧。让我们从这开始 –
准备数据集
通过所传递数据集的数据将排列成一行一列的形式。
- 在这里,我们将pandas库导入为“pd”。我们使用一个字典列表创建了数据集。
-
每个键代表一个学生,与表示不同科目得到的分数的值列表相关联。
-
然后,我们使用DataFrame()函数生成一个数据帧。我们没有指定列名,但学生的姓名自动获得了该数据帧的列位置。最重要的步骤是为数据帧索引打标签。我们通过传递一个由不同科目组成的值列表指定行名。
示例
输出
按索引值删除行
要删除一行,我们将使用pandas的“drop()”方法。这是一种从数据框中删除行的高效简单的方法。以下是此方法的语法 –
我们不需要为启动“drop”操作提供所有参数(大多数默认值就足够了)。删除行有两种技术:-
我们将为每个需要删除的行指定索引值。
示例
以下是该方法的实现。在这里,
- 创建数据框之后,我们使用drop()方法从数据框中删除第3和第4行。
-
我们选择存储在“dataframe”变量中的原始数据框,并用“dataframe.index[[]]”锁定要删除的相应行的索引值。
-
创建一个由剩余行组成的新数据框。
输出
通过标签或行名删除行
在这个技巧中,我们使用想要从数据帧中删除的行(标签)的确切名称。我们将再次使用drop()方法来执行这个技巧。现在,
- 我们使用同样的drop()方法从数据帧中删除了第3行和第4行,但这次我们使用了在构建数据帧时标记的行名。
-
一个新的数据帧被创建,原始数据帧保持不变。
示例
输出
如果我们不想创建另一个数据框,我们还可以使用“ inplace ”参数。这个参数可以修改当前的数据框,使其发生变化。默认值为“ False ”。我们将把 inplace 参数的值设为“ True ”。
使用索引切片
我们也可以使用索引切片来删除一组行。以下是一个示例,
- 在这里,我们切割了索引并创建了一个范围以删除行。
-
我们打印了原始数据框,然后使用“ dataframe.index[2:4] ”方法将范围设置为从2到3,并使用“ dataframe.drop() ”方法来删除这些行。
-
最后,将创建一个由剩余行组成的新数据框。
示例
输出
结论
在本文中,我们介绍了pandas数据框的基础知识。我们了解了从数据框中删除多行的不同方法。我们讨论了指定要删除的行的不同方式,即通过“ 索引值 ”和“ 行名 ”。最后,我们讨论了一个简单的索引切片方法。