我有一个数据框,其中有一列 (ResourceName),其中包含不同类型的名称:
Testvalue
F424221M
F844071
water
我想删除包含数字的行(第2行和第3行),以便保留具有测试值的行。我找不到合适的解决方案。
类似于:
df1 = df1[(df1['ResourceName']) != '**CONTAINS ANY NUMBER**']
最佳答案
您可以使用矢量化的 contains
和正则表达式模式 \d
来查看字符串是否包含任何数字来创建 bool 掩码并使用 ~
对其求反:
In [173]:
df[~df['Testvalue'].str.contains('\d')]
Out[173]:
Testvalue
2 water
这里的contains
生成以下 bool 掩码:
In [174]:
df['Testvalue'].str.contains('\d')
Out[174]:
0 True
1 True
2 False
Name: Testvalue, dtype: bool
关于python - 从 DataFrame 中删除包含 0 到 9 数字的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31539187/