Skip to main content
 首页 » 编程设计

python之Pandas 删除任何字符串的行

2025年05月04日17mq0036

一个非常基本的 qs 家伙 - 感谢 vm 看一看。我想删除 Col1 中包含任何字符串的行 - 只关心 Col1 中的数值。

输入:

      Col1  Col2 Col3 
0      123  48.0  ABC 
1       45  85.0  DEF 
2    A.789  66.0  PQR 
3    RN.35   9.0  PQR 
4      LMO  12.0  ABC 

输出:

      Col1  Col2 Col3 
0    123.0  48.0  ABC 
1     45.0  85.0  DEF 

我试过了

test = input_[input_['Col1'].str.contains(r'ABCDEGGHIJKLMNOPQRSTUVWXYZ.')] 

但是看到这个错误

ValueError: cannot index with vector containing NA / NaN values

你能不能:

  • 请简要解释为什么这不起作用?
  • 请问替代解决方案是什么?

请您参考如下方法:

这样做:

import re 
regex = re.compile("[a-zA-Z]+") 
df.ix[df.col1.map(lambda x: regex.search(x) is None)]