In [8]:
#/##################/#
# Read data
#

#import
import pandas as pd

#open
TrajectoryDataFrame=pd.read_csv('trajectory.csv')

#count
TotalCountInt=TrajectoryDataFrame['lat'].count()

#print
TrajectoryDataFrame


Out[8]:
lon lat datetime accuracy speed
0 2.364317 48.871514 2014-05-09 01:49:37 20.000000 NaN
1 2.364389 48.871541 2014-05-09 02:04:39 20.797001 NaN
2 2.364350 48.871536 2014-05-09 06:31:04 10.000000 NaN
3 2.365868 48.870433 2014-05-09 06:48:36 14.883000 NaN
4 2.365995 48.870265 2014-05-09 06:48:38 12.719000 NaN
5 2.367313 48.868627 2014-05-09 06:49:29 37.613998 NaN
6 2.367416 48.868540 2014-05-09 06:49:56 15.185000 NaN
7 2.367507 48.868417 2014-05-09 06:50:06 13.548000 NaN
8 2.368366 48.867108 2014-05-09 06:50:36 32.877998 NaN
9 2.368541 48.866753 2014-05-09 06:50:47 22.160999 NaN
10 2.368776 48.866584 2014-05-09 06:50:58 19.136999 NaN
11 2.368984 48.866447 2014-05-09 06:51:07 15.857000 NaN
12 2.369035 48.866413 2014-05-09 06:51:18 15.142000 NaN
13 2.369113 48.866379 2014-05-09 06:51:29 14.176000 NaN
14 2.372217 48.865854 2014-05-09 06:51:59 33.169998 NaN
15 2.372412 48.865797 2014-05-09 06:52:19 20.841000 NaN
16 2.372590 48.865728 2014-05-09 06:52:29 16.497000 NaN
17 2.374189 48.865428 2014-05-09 06:52:56 17.846001 NaN
18 2.374388 48.865361 2014-05-09 06:53:16 13.656000 NaN
19 2.374543 48.865327 2014-05-09 06:53:26 12.429000 NaN
20 2.376899 48.864891 2014-05-09 06:53:56 16.695000 NaN
21 2.377095 48.864842 2014-05-09 06:54:07 15.354000 NaN
22 2.377321 48.864784 2014-05-09 06:54:16 13.668000 NaN
23 2.379600 48.864326 2014-05-09 06:54:46 15.488000 NaN
24 2.379690 48.864274 2014-05-09 06:54:51 13.200000 NaN
25 2.381299 48.863784 2014-05-09 06:55:19 19.957001 NaN
26 2.382107 48.862535 2014-05-09 06:55:50 25.667999 NaN
27 2.382307 48.862131 2014-05-09 06:55:57 16.895000 NaN
28 2.382372 48.862007 2014-05-09 06:56:06 13.466000 NaN
29 2.382375 48.861954 2014-05-09 06:56:17 12.558000 NaN
... ... ... ... ... ...
324 1.756692 48.950143 2014-05-09 23:08:58 30.000000 NaN
325 1.756795 48.950152 2014-05-09 23:11:17 27.000000 NaN
326 1.756719 48.950158 2014-05-09 23:12:27 29.000000 NaN
327 1.756639 48.950149 2014-05-09 23:13:28 32.000000 NaN
328 1.756491 48.950104 2014-05-09 23:14:29 27.000000 NaN
329 1.756637 48.950151 2014-05-09 23:16:31 32.000000 NaN
330 1.756511 48.950162 2014-05-09 23:17:33 30.000000 NaN
331 1.756614 48.950182 2014-05-09 23:18:38 30.000000 NaN
332 1.756694 48.950162 2014-05-09 23:20:49 16.680000 NaN
333 1.756709 48.950110 2014-05-09 23:20:54 14.000000 NaN
334 1.756701 48.950159 2014-05-09 23:20:56 10.000000 NaN
335 1.756590 48.950162 2014-05-09 23:21:34 10.000000 NaN
336 1.756490 48.950170 2014-05-09 23:26:45 28.000000 NaN
337 1.756607 48.950069 2014-05-09 23:29:50 24.000000 NaN
338 1.756416 48.950162 2014-05-09 23:30:51 30.000000 NaN
339 1.756607 48.950069 2014-05-09 23:33:55 24.000000 NaN
340 1.756752 48.950131 2014-05-09 23:35:59 29.000000 NaN
341 1.756601 48.950125 2014-05-09 23:38:02 26.000000 NaN
342 1.756697 48.950156 2014-05-09 23:39:02 29.000000 NaN
343 1.756508 48.950168 2014-05-09 23:40:16 30.000000 NaN
344 1.756797 48.950158 2014-05-09 23:43:52 27.000000 NaN
345 1.756547 48.950180 2014-05-09 23:46:56 26.000000 NaN
346 1.756796 48.950170 2014-05-09 23:49:59 29.000000 NaN
347 1.756726 48.950131 2014-05-09 23:52:02 27.000000 NaN
348 1.756462 48.950142 2014-05-09 23:54:16 30.000000 NaN
349 1.756678 48.950235 2014-05-09 23:54:24 15.000000 NaN
350 1.756767 48.950196 2014-05-09 23:54:25 12.000000 NaN
351 1.756673 48.950193 2014-05-09 23:54:26 10.000000 NaN
352 1.756738 48.950167 2014-05-09 23:54:30 9.000000 NaN
353 1.756659 48.950161 2014-05-09 23:56:24 10.000000 NaN

354 rows × 5 columns


In [40]:
#/##################/#
# Short visualisation on google map
#

#import
import gmaps
import numpy as np

#array
CoordinatesArray=np.array(TrajectoryDataFrame[['lat','lon']])

#display

print(dir(gmaps))


"""
map = gmaps.heatmap(CoordinatesArray)
gmaps.display(map)

#Visualisation interpretation
"""


['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'datasets', 'display', 'gmaps_traitlets', 'heatmap', 'init', 'ipy23_compat', 'loader', 'utils']
Out[40]:
'\nmap = gmaps.heatmap(CoordinatesArray)\ngmaps.display(map)\n\n#Visualisation interpretation\n'

In [6]:
#/##################/#
# Convert time
# Notice that all data belongs to the same day record 2014-05-09 
# So just keep Hours, Minutes and Seconds

#import 
import datetime
import time

#map
TrajectoryTimesList=map(
		lambda __DateTimeStr:
		time.strptime(
			__DateTimeStr.split(' ')[-1],
			'%H:%M:%S'
		),
		TrajectoryDataFrame['datetime']
	)

#map, project in the seconds subspace
TrajectorySecondIntsList=map(
	lambda __TrajectoryTime:
	int(
			datetime.timedelta(
			hours=__TrajectoryTime.tm_hour,
			minutes=__TrajectoryTime.tm_min,
			seconds=__TrajectoryTime.tm_sec
		).total_seconds(
		)
	),
	TrajectoryTimesList
)

#add in df
TrajectoryDataFrame['second']=pd.Series(
	TrajectorySecondIntsList
)

#print
print(TrajectoryDataFrame)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-8cda0a7e4900> in <module>()
     15                         '%H:%M:%S'
     16 		),
---> 17                 TrajectoryDataFrame['datetime']
     18 	)
     19 

TypeError: 'HeatmapWidget' object is not callable

In [45]:
%%javascript

GMaps



In [ ]: