如何计算Pandas数据框单元格中的单词总数,并将其添加到新列中?

mun*_*inn 3 python words count dataframe pandas

情感分析中的一项常见任务是获取Pandas数据框单元格中的单词计数,并基于该计数创建一个新列。我该怎么做呢?

mun*_*inn 5

假设您有一个使用生成的数据框 df

df = pandas.read_csv('dataset.csv')
Run Code Online (Sandbox Code Playgroud)

然后,您将通过执行以下操作添加一个包含字数的新列:

df['new_column'] = df.columnToCount.apply(lambda x: len(str(x).split(' ')))
Run Code Online (Sandbox Code Playgroud)

请记住,拆分中的空格很重要,因为您要拆分新单词。在执行此操作之前,您可能希望删除标点符号或数字并减少为小写。

df = df.apply(lambda x: x.astype(str).str.lower())
df = df.replace('\d+', '', regex = True)
df = df.replace('[^\w\s\+]', '', regex = True)
Run Code Online (Sandbox Code Playgroud)


alt*_*abq 5

假设一个包含n个单词的句子中有n-1个空格,那么还有另一种解决方案:

df['new_column'] = df['count_column'].str.count(' ') + 1
Run Code Online (Sandbox Code Playgroud)

此解决方案可能会更快,因为它不会将每个字符串拆分为一个列表: