Представьте себе, что существует 10 домов, где может быть одно бесконечное количество людей. Каждый из этих лиц отправляет несколько сообщений, содержащих их идентификатор пользователя и номер дома. Это может быть от 1 до бесконечного количества сообщений. Я хочу знать среднее количество сообщений, которые отправляются каждым человеком, для каждого дома, для последующего заговора, в котором дом получил наибольшее количество средних сообщений.Получите плотность сообщений на разных ID
Теперь, что я объяснил концептуально, дома не дома, а широты, от f.ex -90 до -89 и т. Д. И что человек может отправлять сообщения из разных домов.
Итак, у меня есть база данных с широтой и senderID. Я хочу, чтобы построить плотность широты рг уникальный SenderId:
Number of rows/Number of unique userids
на каждой широте в течение интервала
Это входной пример:
lat = [-83.76, -44.88, -38.36, -35.50, -33.99, -31.91, -27.56, -22.95,
40.72, 47.59, 54.42, 63.84, 76.77, 77.43, 78.54]
userid= [5, 7, 6, 6, 6, 6, 5, 2,
2, 2, 1, 5, 10, 9 ,8]
Вот соответствующие плотности:
-80 to -90: 1
-40 to -50: 1
-30 to -40: 4
-20 to -30: 1
40 to 50: 2
50 to 60: 1
60 to 70: 1
70 to 80: 1
Другой вход:
lat = [70,70,70,70,70,80,80,80]
userid = [1,2,3,4,5,1,1,2]
Плотность для широты 70 равна 1, а плотность для широты 80 - 1,5.
Если бы я сделал это с помощью запросов к базе данных/псевдокод я хотел бы сделать что-то вроде:
SELECT count(latitude) FROM messages WHERE latitude < 79 AND latitude > 69
SELECT count(distinct userid) FROM messages WHERE latitude < 79 AND latitude > 69
Плотность затем будет count(latitude)/count(distinct userid)
- также быть истолковано как totalmessagesFromCertainLatitude/distinctUserIds. Это будет повторяться с интервалами от -90 до 90, то есть -90<latitude<-89
до 89<latitude<90
Чтобы получить помощь в этом, возможно, далеко, но я просто не могу организовать свои мысли, чтобы сделать это, пока я уверен, что есть нет ошибок. Я был бы рад за что угодно. Извините, если я не понял.
Если вам нужно решение в Python, а затем удалить тег sqlite. –
Интересный вопрос. Я не уверен, что смогу выполнить ваш вопрос или код. Плотность, о которой вы говорите, будет определяться на широту или диапазон широты. Но гистограмма, которую вы планируете, забивается на плотность. Что вы на самом деле хотите увидеть?Я думаю, может быть, плотность на каждый лот, но я не уверен. Можешь подтвердить? У меня есть решение для этого, если это то, что вы хотите. –
@ j-richard-snape Спасибо за ваш интерес. Я хочу построить количество сообщений pr уникального идентификатора пользователя по всем широтам. Это было яснее? Я верю, что плотность плотности. Если вы посмотрите на мой пример кода SQLite, я хочу, чтобы для каждой широты. – bjornasm