Présentation de la bibliothèque "** Scikit-Mobility **" pour gérer les données de flux humain en Python Cette fois, le contenu sera une introduction afin que les personnes qui sont «qu'est-ce que les données de flux humain en premier lieu?» Seront intéressées.
1.Tout d'abord 2. Qu'est-ce que les données sur les flux humains? 3. Que pouvez-vous faire avec Scikit-Mobility? 4. Hypothèses 5. Installation de la bibliothèque 5. Regardons les données d'historique des mouvements 6. Ensemble de données à utiliser cette fois 7. Lire les données 8. Visualisez l'historique des mouvements sur la carte 6. Résumé
github[https://github.com/scikit-mobility/scikit-mobility]
Connaissez-vous une bibliothèque Python appelée "** Scikit-Mobility **"? Fait juste l'année dernière, que vous ne connaissez peut-être pas encore, ** Pour l'analyse des données sur les mouvements humains (ci-après dénommées données sur les flux humains) Une bibliothèque fonctionnelle **. Ces dernières années, une grande quantité d'informations de localisation a été accumulée dans les applications cartographiques et les SNS, et des algorithmes de traitement et d'analyse des données de flux humain, y compris l'évaluation des risques pour la vie privée, ont été mis en place.
Tout d'abord, je voudrais présenter brièvement "** Qu'est-ce que les données sur les flux humains? " et " Que peut faire scikit-mobility? **".
Scikit-Mobility gère principalement ** 2 types ** de données.
** Données d'historique de mouvement (trajectoires) ** Données de latitude et de longitude montrant la trajectoire du mouvement. Pour les éléments familiers, vous pouvez utiliser le GPS pour collecter et analyser les informations de localisation actuelles utilisées dans les applications cartographiques et SNS, ainsi que le comportement à long terme dans la recherche et la recherche.
** Données de flux mobiles (flux) ** Ce sont les données du flux de mouvement des personnes entre les lieux. Ce sont des données montrant combien de personnes sont allées d'un endroit spécifique (point de départ / orientation) à un endroit spécifique (point d'arrivée / destination) comme une enquête OD.
Avec scikit-mobility, vous pouvez facilement effectuer l'analyse suivante sur les données de flux humain.
J'aimerais approfondir chaque contenu à l'avenir. Cependant, cette fois, je voudrais vous présenter un peu plus sur "** Qu'est-ce que les données de flux humain en premier lieu? **" juste avant cela.
Tout d'abord, installons la bibliothèque.
$ pip install scikit-mobility
Utilisez les Exemples de données fournis sur github. (* Veuillez noter qu'il sera téléchargé automatiquement. Il s'agit d'un fichier texte d'environ 2 Mo)
Ceci est publié par Microsoft [GeoLife GPS Trajectories](https://www.microsoft.com/en-us/download/details.aspx?id=52367&from=https%3A%2F%2Fresearch.microsoft.com % 2Fen-us% 2Fdownloads% 2Fb16d359d-d164-469e-9fd4-daa38f2b2e13% 2F). Le projet Microsoft Research Asia Geolife collecte des données de journal GPS de 2007 à 2012 pour 182 utilisateurs à Pékin.
Les exemples de données contiennent des données pour deux d'entre eux.
Lisons les données téléchargées.
Les données d'historique de mouvement sont lues avec un type de données appelé «TrjDataFrame». Ceci est une extension du DataFrame des pandas.
#Lire les données
tdf = skmob.TrajDataFrame.from_file('geolife_sample.txt.gz'
,latitude='lat'
,longitude='lon'
,user_id='user'
,datetime='datetime'
)
#Vérifiez le contenu
print(tdf.head())
Le contenu est comme ça.
uid lat lng datetime
0 1 39.984094 116.319236 2008-10-23 13:53:05
1 1 39.984198 116.319322 2008-10-23 13:53:06
2 1 39.984224 116.319402 2008-10-23 13:53:11
3 1 39.984211 116.319389 2008-10-23 13:53:16
Pour créer TrajDataFrame
, vous devez spécifier les noms de colonne correspondant aux trois arguments.
Ce sont les informations de base de l'historique du mouvement, telles que "quand et où vous étiez".
Vous pouvez également éventuellement spécifier les arguments suivants
Bien entendu, toute colonne autre que celle-ci peut être lue sans aucun problème.
Il est également possible de convertir une trame de données en TrajDataFrame
.
import pandas as pd
import skmob
#Préparation d'échantillons de données
data_list = [[1, 39.984094, 116.319236, '2008-10-23 13:53:05'],
[1, 39.984198, 116.319322, '2008-10-23 13:53:06'],
[1, 39.984224, 116.319402, '2008-10-23 13:53:11'],
[1, 39.984211, 116.319389, '2008-10-23 13:53:16']]
#Créer un bloc de données
data_df= pd.DataFrame(data_list, columns=['user', 'lat', 'lon', 'datetime'])
print('Avant la conversion: ', type(data_df))
#Convertir en TrjDataFrame
tdf = skmob.TrajDataFrame(data_df, latitude='lat', longitude='lon', datetime='datetime', user_id='user')
print('Après la conversion: ', type(tdf))
print(tdf.head())
Avant la conversion: <class 'pandas.core.frame.DataFrame'>
Après la conversion: <class 'skmob.core.trajectorydataframe.TrajDataFrame'>
uid lat lng datetime
0 1 39.984094 116.319236 2008-10-23 13:53:05
1 1 39.984198 116.319322 2008-10-23 13:53:06
2 1 39.984224 116.319402 2008-10-23 13:53:11
3 1 39.984211 116.319389 2008-10-23 13:53:16
Vous ne pouvez pas dire où se trouvent les données de latitude et de longitude en regardant uniquement les chiffres. Il est important de vérifier sur la carte. TrajDataFrame peut être facilement visualisé comme suit.
tdf.plot_trajectory(zoom=12, weight=3, opacity=0.9, tiles='Stamen Toner')
Il code automatiquement chaque uid par couleur et l'affiche. Si vous regardez sur la carte, vous pouvez voir où vous avez déménagé, combien vous avez d'activité et où vous allez.
Vous pouvez voir jusqu'où l'utilisateur s'est déplacé en effectuant un zoom arrière jusqu'à ce que vous puissiez voir toute la plage d'activité. Un utilisateur est allé assez loin.
De plus, des marqueurs sont affichés pour le premier journal (vert) et le dernier journal (rouge) de chaque utilisateur. Cliquez pour afficher l'heure et la latitude / longitude
En le visualisant sur la carte de cette manière, il devient plus facile de comprendre le mouvement de l'utilisateur.
Qu'as-tu pensé. Cette fois, j'ai brièvement présenté Scikit-Mobility et le type de données qu'il gère. Vous ne pouvez pas voir les données d'historique des mouvements pour la première fois car vous ne les voyez généralement pas. J'espère que vous profiterez de cette occasion pour vous intéresser à l'analyse des données sur les flux humains. Si vous utilisez google map, il peut être intéressant de télécharger et d'analyser vos informations de localisation. (Télécharger l'historique Google Map (chronologie)) Dans les articles suivants et suivants, je voudrais présenter des données de flux et des fonctions et algorithmes spécifiques. C'est tout pour cette fois! Merci pour la lecture!
Recommended Posts