我正在学习如何处理文本数据的基础知识,目前正在进行将句子转换为小写的预处理操作。我找到的所有教程都执行以下操作:
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
如果每个人都进行拆分然后转换,那么这种方法在实践中更有优势吗?