Я изучаю основы обработки текстовых данных, и в настоящее время я занимаюсь операцией предварительной обработки преобразования предложений в нижний регистр. Все учебники, которые я нахожу, делают следующее:
train['tweet'].apply(lambda x: \
' '.join([word.lower() for word \
in str(x).split()])
Но, на мой взгляд, более удобный звонок может быть следующим
train['tweet'].apply(lambda x: str(x).lower())
Я полностью понимаю, что они дают разные результаты, потому что первый вызов также преобразует все пробельные символы в "", тогда как другой сохраняет их.
all(train['tweet'].apply(lambda x: str(x).lower()) == \
train['tweet'].apply(lambda x: ' '.join([word.lower() \
for word in str(x).split()])))
---------------------------------------------------------------
False
Но если мы разделим только на "", они будут одинаковыми
all(train['tweet'].apply(lambda x: str(x).lower()) == \
train['tweet'].apply(lambda x: ' '.join([word.lower() \
for word in str(x).split(" ")])))
---------------------------------------------------------------
True
Если все делают разделение-затем-преобразование, что является более выгодным в этом подходе на практике?