首页 > 解决方案 > 使用Python定义一个返回一段时间内最常用词的函数

问题描述

我正在使用如下所示的数据框:

    text                    senders date                   words    characters
0   esta muy bueno          L       2018-03-14 17:00:00    4        20
1   congratz                L       2018-03-14 17:00:00    1        8
2   en la tarde instalamos  L       2018-03-14 17:00:00    5        28
3   muy bueno eso..         G       2018-03-14 17:00:00    5        28
4   asi voy a hacer         G       2018-03-14 17:00:00    9        39
5   jajaja                  L       2018-03-14 17:00:00    1        6
6   jajajajajajaj           G       2018-03-14 17:16:00    1        13
7   lucho                   G       2018-03-14 17:33:00    1        5
8   ah no                   G       2018-03-14 17:33:00    2        5
9   nonono                  G       2018-03-14 17:33:00    1        6

我想要做的是定义一个函数,该函数返回列中某个单词在特定时间段内text被每个(L 或 G)使用的次数。senders这可能吗?数据从 2018 年 3 月到 2018 年 12 月。

我已经编写了一段代码,它返回text列中最常见的单词:

from collections import Counter 
words = '' for i in df.text.values: 
    words += '{} '.format(i.lower()) #make words lowercase 
pd.DataFrame(Counter(words.split()).most_common(20), columns=['word', 'frequency'])

此外,该date列已通过以下方式转换为数据时间:

df['date'] = pd.to_datetime(df['date'])

标签: pythonpandasfunctiondatedatetime

解决方案


推荐阅读