# HG changeset patch # User Nicolas Saunier # Date 1493957253 14400 # Node ID f766fe0995f4f60f94f8f1225f9b8216d7019b7f # Parent ab3a4cb524a9ff8246b1c87fb771ed8eb6c2feaa added function for PeMS data diff -r ab3a4cb524a9 -r f766fe0995f4 python/storage.py --- a/python/storage.py Tue Mar 28 17:26:49 2017 -0400 +++ b/python/storage.py Fri May 05 00:07:33 2017 -0400 @@ -916,6 +916,19 @@ finally: self.sechead = None else: return self.fp.readline() +def loadPemsTraffic(filename): + '''Loads traffic data downloaded from the http://pems.dot.ca.gov clearinghouse + into pandas dataframe''' + f = openCheck(filename) + l = f.readline().strip() + items = l.split(',') + headers = ['time', 'station', 'district', 'route', 'direction', 'lanetype', 'length', 'nsamples', 'pctobserved', 'flow', 'occupancy', 'speed', 'delay35', 'delay40', 'delay45', 'delay50', 'delay55', 'delay60'] + nLanes = (len(items)-len(headers))/3 + for i in xrange(nLanes): + headers += ['flow{}'.format(i+1), 'occupancy{}'.format(i+1), 'speed{}'.format(i+1)] + f.close() + return read_csv(filename, delimiter = ',', names = headers) + def generatePDLaneColumn(data): data['LANE'] = data['LANE\LINK\NO'].astype(str)+'_'+data['LANE\INDEX'].astype(str)