#python #pandas
#питон #панды
Вопрос:
У меня есть фрейм данных твитов, которые содержат столбцы id, text, lang, created_at и location. Я выполняю нормализацию текстового столбца, и мне нужно сделать весь текст в нижнем регистре.
Текстовый столбец содержит 6 строк.
Elephants ruined again fields and kills a farmer
SFF Friday night build
Dont
Hi
i will forever love and her family
The only way Republicans know
Вот несколько твитов, которые я захватил из Твиттера. Когда я просто применяю
df.["text"].str.casefold()
это не работает. Выходные данные такие же, как и входные, без каких-либо изменений. Я также попробовал использовать функцию lower(), которая также не работает. Как я могу выполнить сворачивание дела?
Ответ №1:
попробуйте выполнить следующее:
x = '''Elephants ruined again fields and kills a farmer
SFF Friday night build
Dont
Hi
i will forever love and her family
The only way Republicans know'''
df = pd.DataFrame(x.split('n'), columns=['text'])
#*** use str.lower() ***
df.text = df.text.str.lower()
print(df)
0 elephants ruined again fields and kills a farmer
1 sff friday night build
2 dont
3 hi
4 i will forever love and her family
5 the only way republicans know
Name: text, dtype: object
Комментарии:
1. ПРИВЕТ, это работает, спасибо, но знаете ли вы, можно ли это применить, когда в текстовом столбце много строк. Например, более 20000 твитов.
2. Должно работать до предела системной памяти. Кому-то поумнее нужно будет поговорить о производительности… Вы всегда можете разделить работу на N циклов, если возникает проблема с памятью.