📜  dorp ligne in df where values equal zeros - Python (1)

📅  最后修改于: 2023-12-03 15:30:33.205000             🧑  作者: Mango

Pandas DataFrame 中的行删除操作

在 Pandas 中,可以使用 drop() 函数来删除 DataFrame 中的行或列。在本文中,我们将演示如何使用 drop() 函数删除 DataFrame 中所有值都为零的行。

以下是删除函数的语法

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

其中,参数说明如下:

  • labels:用于指定要删除的行或列的名称。
  • axis:如果要删除行,则为 0;如果要删除列,则为 1。
  • index:用于指定要删除的行的行号。
  • columns:用于指定要删除的列的列名。
  • level:多级行或列的索引,如果有的话。
  • inplace:如果为 True,则会在原地修改 DataFrame;否则,将返回一个新的 DataFrame。
  • errors:如果值为 raise,则会引发异常,否则将忽略错误。

上面这些参数中,我们主要需要使用 axisinplace 这两个参数。

以下是使用 drop() 函数删除 DataFrame 中所有值都为零的行的代码片段:

df.drop(df.index[(df == 0).all(axis=1)], inplace=True)

这里使用了 all() 函数来检查每行是否全是 0,然后使用 index() 函数获取符合条件的行号(也就是索引),最后将其传递给 drop() 函数进行删除。

顺便提一下,如果想删除所有值都为空的行,只需要使用空值检查函数 isna() 即可,如下所示:

df.dropna(how='all', inplace=True)

这样就能够删除 DataFrame 中所有值都为零或为空的行了。

结语

以上就是使用 Pandas 删除 DataFrame 中所有值都为零的行的方法了。drop() 函数的用法还有很多,有兴趣的读者可以尝试一下。