我正在学习如何处理文本数据的基础知识,并且目前正在进行将句子转换为小写字母的预处理操作。我发现的所有教程都执行以下操作:
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
如果每个人都进行“先分解后再转化”,那么在实践中这种方法的优势何在?