python - 如果数据以特定字符开头,则删除 pandas 数据框中的一行
问题描述
我有一个数据框,其中包含从 txt 文件中读取的一些文本,列名是FEATURE
和SENTENCES
。在FEATURE
col 中有一些以 开头的文本'[NA]'
,例如'[NA] not a feature'
。
如何从我的数据框中删除这些行?
到目前为止,我已经尝试过:
df[~df.FEATURE.str.contains("[NA]")]
但这什么也没做,也没有错误。
我也试过:
df.drop(df['FEATURE'].str.startswith('[NA]'))
同样,没有错误,但这不起作用。
解决方案
IIUCregex=False
用于不解析字符串,如正则表达式:
df[~df.FEATURE.str.contains("[NA]", regex=False)]
或转义特殊的正则表达式字符[]
:
df[~df.FEATURE.str.contains("\[NA\]")]
另一个问题应该是尾随空格,然后使用:
df[~df['FEATURE'].str.strip().str.startswith('[NA]')]
推荐阅读
- typescript - 向全局 Screen 添加新方法时无法满足 tslint 的要求
- swift - 在 TableView 中的 .Delete 之后更新行
- vba - vba - 复制到合并单元格不起作用
- visual-studio-code - Visual Studio 代码单引号错误
- javascript - 最初使用 Angular JS 将活动类添加到第一个 JSON 数据对象的导航链接
- javascript - 使用条件 if 在 mongodb 中检索单个文档
- angular - 如何使用单个 Observable 发送多个 Http 请求
- google-cloud-sql - 在 Google Cloud SQL 中,备份的隐私性是否不足?
- selenium - Selenium - 将密钥发送到元素选择
- mysql - 如何在 MySQL 的触发器中声明变量?因为我在执行几行代码时遇到错误