У меня есть DataFrame
с колонками time
, latitude
и longitude
. Это выглядит так:Получение конкретных медианных данных
>>> df.head()
time latitude longitude
0 2011-12-16 08:09:07 42.386391 -71.013544
1 2011-12-16 08:09:08 42.386391 -71.013544
2 2011-12-16 08:09:09 42.386391 -71.013544
3 2011-12-16 08:09:10 42.386391 -71.013544
4 2011-12-16 08:09:11 42.386391 -71.013544
Что я пытаюсь сделать, это оценка того, где живет человек. Самый простой способ сделать это - получить режим (наиболее распространенный) своего местоположения в самые ранние моменты дня.
В моем кадре данных более 700 000 строк и занимает около 3 месяцев с данными по 4-8 часов в день каждую секунду! Поэтому мне нужно найти наиболее распространенные пары (широта, долгота) с первых двух секунд каждого дня.
Если бы я хотел использовать весь набор данных, а не только первые пару секунд каждый день, я мог бы сделать следующее:
l = []
for i in range(len(df)-1):
l.append((df.latitude[i],df.longitude[i]))
import collections
answer = collections.Counter(l).most_common(1)
Это может или не может быть наиболее эффективным способом, и если вы иметь лучший способ, который будет работать, не стесняйтесь использовать это в своем ответе. Важная часть этого состоит в том, что только только принимают первые значения пары за каждый день.
спасибо.
примечание: время начала каждого дня варьируется.
Фактически * режим * является наиболее распространенным значением в наборе данных. медиана - это значение, значение которого меньше половины, чем половина. интеграл от -infinity до m, где m - медиана, равна 1/2 –
wow, yeah my bad –