如何计算 pandas 数据帧上的非字母数字字符

How to count non-alphanumeric characters on pandas dataframe

这是我的数据

No  Body
1   DaTa, Analytics 2
2   StackOver. 67%

这是我的预期输出

No  Body                 Non Alphanumeric   
1   DaTa, Analytics 2    1       
2   StackOver. 67%       2  

我只计算非字母数字,例如 ! @ # & ( ) % – [ { } ] : ; ', ? / * space,数字不计算

您可以使用:

df['Non Alphanumeric'] = df['Body'].str.findall(r'[^a-zA-Z0-9 ]').str.len()

或者:

df['Non Alphanumeric'] = df['Body'].str.count(r'[^a-zA-Z0-9 ]')

print (df)
   No               Body  Non Alphanumeric
0   1  DaTa, Analytics 2                 1
1   2     StackOver. 67%                 2