Я работаю с фреймом данных, который выглядит следующим образом:
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
.по каждому из senders
(L или G) в течение определенного периода времени.Это возможно?Данные поступают с марта 2018 года по декабрь 2018 года.
Я уже написал фрагмент кода, который возвращает наиболее распространенные слова в столбце 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'])