Я пытаюсь подсчитать вхождения символов в столбце в кадре данных Pandas.Например, я хочу узнать, сколько раз символ A
появляется в столбце.Проблема возникает, когда есть не буквенно-цифровой символ.
Вот минимальный воспроизводимый пример:
import pandas as pd
df = pd.DataFrame(data = ['AA', 'BA', 'ABA'], columns = ['col1'])
charset = set("".join(list(df['col1'])))
print(charset)
Это набор символов в столбце:
{'B', 'A'}
for char in charset:
print(char, ' ', sum(df['col1'].str.count(char)))
Это число раз, которое каждыйв столбце появляется символ:
B 2
A 5
Попытка повторить то же самое, за исключением нескольких не алфавитно-цифровых символов:
df2 = pd.DataFrame(data = ['AA+', 'BA', 'ABA('], columns = ['col1'])
charset = set("".join(list(df2['col1'])))
print(charset)
Как и ожидалось, набор символов:
{'(', 'B', '+', 'A'}
Однако попытка подсчитать символы теперь не удалась:
for char in charset:
print(char, ' ', sum(df2['col1'].str.count(char)))
error: missing ), unterminated subpattern at position 0
Есть ли какой-нибудь способ экранировать не алфавитно-цифровые символы или иным образом получить счетчик, который я ищу?