遍历数据框中的所有行并检查所有列值都在列表中

我有一个包含 7 列和 ~5.000 行的数据框。我想检查一行中的所有列值是否都在我的列表中,如果是,要么将它们添加到新数据框,要么删除所有值不匹配的列,即删除错误行(w/e 是最简单的);


for row in df:

   for columns in row:

      if df.iloc[row, column].isin(MyList):

         ...*something*

我可以想象.apply并且.all可以使用,但恐怕我的 python 技能有限,有什么帮助吗?


胡说叔叔
浏览 93回答 1
1回答

一只斗牛犬

如果我理解正确,您可以通过使用applylambda 表达式来解决这个问题,例如:df.loc[df.apply(lambda row: all(value in MyList for value in row), axis=1))]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python