0

我正在一次一行地遍历 Pandas 中的数据框。我正在检查该行是否满足某些条件。然后,我想丢弃该行。我怎样才能做到这一点?

4

2 回答 2

1

这取决于您是否保留它的标准,一个简单的方法是创建一个测试函数:

In [11]: def keep_row(row):
             return True  # you may want to make this stricter...

In [12]: df.apply(keep_row, axis=1)

然后你可以只保留那些好的行:

In [13]: df = df[df.apply(keep_row, axis=1)]

如果您可以找到某种方法来矢量化(使用 numpy 来描述)保持行的条件,它可能会更快,但是如果没有具体示例,很难建议如何。

于 2013-07-23T21:18:05.607 回答
1

pandas 的第一条规则是,如果你遍历行,你可能做错了。要删除符合条件的行,只需选择不符合条件的行,例如您要删除列 A == "rrr" 的行:

df = df[df.A!="rrr"]
于 2016-10-20T16:04:32.180 回答