根据“如果单元格中的字符串”条件删除熊猫列中的行
Posted
技术标签:
【中文标题】根据“如果单元格中的字符串”条件删除熊猫列中的行【英文标题】:remove row in pandas column based on "if string in cell" condition 【发布时间】:2020-08-29 22:39:21 【问题描述】:我有一个包含一些列的数据框,其中之一是 Text
,其中包含一些文本 (obv)。
此列的几个单元格中有“无文本”,但我注意到(我不知道为什么)有一些空格:例如在某些行中我有 "no text"
在其他行中 " no text"
, " no text "
和 " no text "
等等。
我想使用这样的条件来删除其列Text
丢失的行:
data = data.drop(data['no text' in data['Text']].index)
但给了我一些错误 (KeyError: '[False] not found in axis'
)
我知道对于这样的事情,必须通过一个布尔条件 df = df.drop(df[boolean_cond])
那么我做错了什么?
【问题讨论】:
或许可以对列应用str.strip(),如here所示 【参考方案1】:Series.str.contains
如果您想删除包含字符串为no text
的行,那么您可以这样做:
data = data[~(data['Text'].str.contains("no text"))]
【讨论】:
以上是关于根据“如果单元格中的字符串”条件删除熊猫列中的行的主要内容,如果未能解决你的问题,请参考以下文章