对比Excel,Python pandas删除数据框架中的行

2022-04-13 13:58:34 浏览数 (2)

标签:Python与Excel,pandas

对于Excel来说,删除行是一项常见任务。本文将学习一些从数据框架中删除行的技术。

准备数据框架

我们将使用前面系列中用过的“用户.xlsx”来演示删除行。

图1

注意上面代码中的index_col=0?如果我们将该参数留空,则索引将是基于0的索引。通过指定index_col=0,我们要求pandas使用第一列(用户姓名)作为索引。

使用.drop()方法删除行

如果要从数据框架中删除第三行(Harry Porter),pandas提供了一个方便的方法.drop()来删除行。drop()方法的重要参数如下所示,注意,还有其他参数,但这里仅介绍以下内容:

  • label:单个标签或标签列表,可以是行标签或列标签。
  • axis:默认值为0,表示索引(即行)。如果设置为1,则表示列。
  • inplace:告诉pandas是否应该覆盖原始数据框架。

按名称删除行

图2

我们跳过了参数axis,这意味着将其保留为默认值0或行。因此,我们正在删除索引值为“Harry Porter”的行。还要注意.drop()方法还返回结果数据框架。现在是有趣的部分,让我们看看数据框架df,它并没有改变!这是因为我们忽略了参数inplace。

图3

如果要覆盖原始数据框架df,使用以下2种方法:

  • 将结果数据框架赋值回原始df
  • 在drop()方法内设置place=True

图4

按位置删除行

我们还可以使用行(索引)位置删除行。如果要删除第1行和第3行,它们是“Forrest Gump”和”Harry Porter”。在结果数据框架中,我们应该只看到Mary Jane和Jean Grey。

图5

使用布尔索引删除行

布尔索引基本上是一个布尔值列表(True或False)。我们可以使用布尔索引方便地筛选行,这里我们还可以使用它方便地删除行。这次我们将从数据框架中删除带有“Jean Grey”的行,并将结果赋值到新的数据框架。

图6

0 人点赞