Я использую Python 3.6 и столкнулся с проблемой. Я объясню. У меня есть dataframe с именем test_data_sample, который имеет две переменные, «пользователь» и «текст». Есть два разных пользователя, но каждый пользователь написал несколько текстов. Ниже приведен пример:
User Text
user1 legit thank later
user1 I dont care
user2 Fried eggs
User3 it should be ok
User4 I do not like his assumptions
User4 I hate rugby
У меня есть модель и 3 кластерных центроида, и я хотел бы рассчитать расстояние между каждым "текстом" и центроидами. Пока кодовые слова, но проблема, с которой я сталкиваюсь, заключается в получении средних значений сходства для каждого пользователя, например,
user1 legit thank later
Distance to cluster 0.3
Distance to cluster 0.6
Distance to cluster 0.4
user1 I dont care
Distance to cluster 0.1
Distance to cluster 0.9
Distance to cluster 0.80
user2 Fried eggs
Distance to cluster 0.4
Distance to cluster 0.4
Distance to cluster 0.33
User3 it should be ok
Distance to cluster 0.4
Distance to cluster 0.54
Distance to cluster 0.6
User4 I do not like his assumptions
Distance to cluster 0.3
Distance to cluster 0.34
Distance to cluster 0.1
User4 I hate rugby
Distance to cluster 0.6
Distance to cluster 0.4
Distance to cluster 0.5
В идеале я бы хотел, чтобы выходные данные, скажем, пользовательского, были такими, как показано ниже:
user1 legit thank later
Distance to cluster 0.3
Distance to cluster 0.75
Distance to cluster 0.6
, что является средним для каждого расстояния. У пользователя 1 есть два «текста», поэтому значения сумма суммы каждого расстояния до каждого кластера делится на 2. Пользователь 4 будет также разделен на 2, а пользователи 2 и 3 останутся без изменений.
Ждем ваших ответов.