【发布时间】:2021-03-08 19:43:00
【问题描述】:
我有一个数据框 df 有 50,000 多行:
>>> df
message words wordCount uniqueWordCount
0 my name is [my, name, is] 3 3
1 happy birthday to you [happy, birthday, to, you] 4 4
2 la la la la la [la, la, la, la, la] 5 1
3 you are you that is it [you, are, you, that, is, it] 6 5
...
我想创建一个新列,其中包含message 中最常用的 3 个单词。
到目前为止我所做的工作,但需要相当长的时间。
>>> df["mostFrequent"] = df["message"].apply(
lambda x: sorted(
textblob.TextBlob(x).word_counts, key=textblob.TextBlob(x).word_counts.get, reverse=True)[:3])
>>> df["mostFrequent"]
0 [my, name, is]
1 [happy, birthday, to]
2 [la]
3 [you, are, that]
...
有没有更有效的方法?
【问题讨论】:
标签: python python-3.x pandas dataframe