У меня есть кадр данных pandas, как показано ниже. Я хочу преобразовать весь текст в нижний регистр. Как я могу сделать это в python?
Пример кадра данных
[Nah I don't think he goes to usf, he lives around here though]
[Even my brother is not like to speak with me., They treat me like aids patent.]
[I HAVE A DATE ON SUNDAY WITH WILL!, !]
[As per your request 'Melle Melle (Oru Minnaminunginte Nurungu Vettam)' has been set as your callertune for all Callers., Press *9 to copy your friends Callertune]
[WINNER!!, As a valued network customer you have been selected to receivea £900 prize reward!, To claim call 09061701461., Claim code KL341., Valid 12 hours only.]
Что я пробовал
def toLowercase(fullCorpus):
lowerCased = [sentences.lower()for sentences in fullCorpus['sentTokenized']]
return lowerCased
Я получаю эту ошибку
lowerCased = [sentences.lower()for sentences in fullCorpus['sentTokenized']]
AttributeError: 'list' object has no attribute 'lower'
Также можно сделать string
, использовать str.lower
и вернуться к спискам.
import ast
df.sentTokenized.astype(str).str.lower().transform(ast.literal_eval)
Это легко:
df.applymap(str.lower)
или же
df['col'].apply(str.lower)
df['col'].map(str.lower)
Хорошо, у вас есть списки в строках. Затем:
df['col'].map(lambda x: list(map(str.lower, x)))
Вы можете попробовать использовать apply
и map
:
def toLowercase(fullCorpus):
lowerCased = fullCorpus['sentTokenized'].apply(lambda row:list(map(str.lower, row)))
return lowerCased