python - 使用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'])
解决方案
推荐阅读
- wordpress - Wordpress - 使用过滤器更改路径
- java - 通用对象的 Mapstruct
- haskell - 为什么字符没有类似于数字的`Char a => a`(`Num a => a`)?
- bash - 如何使用函数返回的数值?
- javascript - 在导航栏中单击时如何更改背景内容?
- javascript - Drawing tiles on canvas has blurry gaps
- amazon-web-services - 是否可以将 S3 接入点用作静态网站?
- typescript - Why wrapping a generic function and awaiting it returns different type opposed to returning the value directly?
- c# - C# - 创建包含破折号的对象的问题
- c++ - 定义变量的C++函数返回问题