0

我正在学习如何处理文本数据的基础知识,目前正在进行将句子转换为小写的预处理操作。我找到的所有教程都执行以下操作:

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

如果每个人都进行拆分然后转换,那么这种方法在实践中更有优势吗?

4

0 回答 0