das*_*otz 1 python data-analysis pandas
我有一个数据框,其中有一列,如下所示:
Value
xyz123
123
abc
def
Run Code Online (Sandbox Code Playgroud)
我想删除任何包含数字的行,所以我最终得到一个像这样的数据框:
Value
abc
def
Run Code Online (Sandbox Code Playgroud)
我努力了
df = df[df['Value'].str.contains(r'[^a-z]')]
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
“类型错误:‘方法’对象不可下标”
与变量命名问题无关,您可以更明确地仅删除带有数字的行:
df[~df.Value.str.contains(r'\d')]
Value
2 abc
3 def
Run Code Online (Sandbox Code Playgroud)
\d:
匹配任何 Unicode 十进制数字(即 Unicode 字符类别 [Nd] 中的任何字符)。这包括 [0-9] 以及许多其他数字字符。如果使用 ASCII 标志,则仅匹配 [0-9](但该标志会影响整个正则表达式,因此在这种情况下,使用显式 [0-9] 可能是更好的选择)。