我一次在Pandas中迭代一行数据帧。我正在检查该行是否符合某些条件。然后,我想丢弃这一行。我怎么能做到这一点?
答案 0 :(得分: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来描述)保持行的条件,可能会更快,但如果没有具体的例子,很难建议如何。
答案 1 :(得分:0)
大熊猫的第一条规则是,如果你在行中迭代,你可能做错了。要删除符合条件的行,只需选择不符合条件的行,例如你想要删除列A ==“rrr”:
的行df = df[df.A!="rrr"]