Как посчитать не алфавитно-цифровые символы на панде

Вот мои данные

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

Вот мой ожидаемый результат

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

Я только считаю не алфавитно-цифровой, как ! @ # & ( ) % – [ { } ] : ; ', ? / * пробел и число не считается

1 ответ

Решение

Ты можешь использовать:

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
Другие вопросы по тегам