1

、、およびのDataFrame列があります。次のようになります。timelatitudelongitude

>>> 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 を超える行があり、毎秒 1 日 4 ~ 8 時間のデータで約 3 か月に及びます。だから私がする必要があるのは、毎日の最初の数秒から最も一般的な (緯度、経度) ペアを見つけることです。

毎日の最初の数秒だけではなく、データセット全体を使用したい場合は、次のようにします。

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)

それが最も効率的な方法である場合とそうでない場合があります。より良い方法があれば、それを回答に自由に使用してください。これの重要な部分は、毎日最初の数個の値のみを取得することです。

ありがとうございました。

注: 開始時間は日によって異なります。

4

2 に答える 2