In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import matplotlib.patches as mpatches
import csv
from collections import Counter
In [2]:
%matplotlib inline
In [3]:
trips_df = pd.read_csv("GTFS Dataset/trips.csv")
routes_df = pd.read_csv("GTFS Dataset/routes.csv")
shapes_df = pd.read_csv("GTFS Dataset/shapes.csv")
In [4]:
routes_df[routes_df.route_id=='BRONZE YANKEE RIDGE']
Out[4]:
route_id
agency_id
route_short_name
route_long_name
route_desc
route_type
route_url
route_color
route_text_color
28
BRONZE YANKEE RIDGE
CUMTD
8
Bronze Yankee Ridge
NaN
3
NaN
9e8966
000000
In [5]:
exist = []
for k in np.arange(100):
exist.append(routes_df[routes_df.route_id==np.unique(trips_df["route_id"])[k]][["route_id"]])
# There is a route which does not have any trip.
not_exist_route_id = 'BRONZE YANKEE RIDGE'
routes_df = routes_df[routes_df.route_id!='BRONZE YANKEE RIDGE']
In [6]:
len(np.unique(routes_df["route_color"]))
Out[6]:
21
In [7]:
Counter(routes_df["route_color"])
Out[7]:
Counter({'000000': 1,
'006991': 8,
'008063': 18,
'2b3088': 1,
'355caa': 1,
'5a1d5a': 9,
'808285': 8,
'823822': 2,
'825622': 2,
'9e8966': 2,
'a78bc0': 5,
'b2d235': 4,
'c7994a': 4,
'cccccc': 7,
'd1d3d4': 4,
'eb008b': 5,
'ed1c23': 1,
'ed1c24': 1,
'f99f2a': 3,
'fcee1f': 13,
'ffbfff': 1})
In [8]:
len(np.unique(shapes_df["shape_id"]))
Out[8]:
677
In [9]:
len(np.unique(trips_df["shape_id"]))
Out[9]:
677
In [10]:
len(np.unique(trips_df["trip_id"]))
Out[10]:
5498
In [11]:
# route_id -> route_color
route_color_dict = {}
for route in routes_df["route_id"]:
route_color_dict[route]=routes_df[routes_df.route_id==route][["route_color"]]
route_color_dict
Out[11]:
{'1 YELLOW ALT': route_color
55 fcee1f, '10W GOLD ALT': route_color
77 c7994a, '1N YELLOW ALT': route_color
88 fcee1f, '1N YELLOW ALT PM': route_color
51 fcee1f, '1S YELLOW ALT': route_color
89 fcee1f, '3S LAVENDER ALT': route_color
11 a78bc0, '5E GREEN EXPRESS 1 ALT': route_color
9 008063, '5E GREEN EXPRESS ALT': route_color
22 008063, '5W GREEN ALT 2': route_color
39 008063, '5W GREEN EXPRESS 2': route_color
86 008063, '7E GREY ALT': route_color
48 808285, '7W GREY ALT': route_color
92 808285, 'BLUE': route_color
61 355caa, 'BRONZE': route_color
85 9e8966, 'BRONZE ALT': route_color
70 9e8966, 'BROWN': route_color
50 825622, 'BROWN ALT': route_color
36 823822, 'BROWN ALT PM': route_color
3 823822, 'BROWN ALT1': route_color
87 825622, 'GOLD': route_color
34 c7994a, 'GOLD ALT': route_color
0 c7994a, 'GOLDHOPPER': route_color
83 c7994a, 'GREEN': route_color
25 008063, 'GREEN ALT': route_color
57 008063, 'GREEN EVENING': route_color
60 008063, 'GREEN EVENING SATURDAY': route_color
5 008063, 'GREEN EXPRESS': route_color
96 008063, 'GREEN EXPRESS ALT': route_color
32 008063, 'GREEN LATE NIGHT': route_color
74 008063, 'GREEN LATE NIGHT SATURDAY': route_color
8 008063, 'GREEN LATE NIGHT SUNDAY': route_color
69 008063, 'GREEN SATURDAY': route_color
10 008063, 'GREEN SUNDAY': route_color
82 008063, 'GREENHOPPER': route_color
24 008063, 'GREENHOPPER EVENING': route_color
33 008063, 'GREENHOPPER EVENING SATURDAY': route_color
16 008063, 'GREY': route_color
47 808285, 'GREY ALT': route_color
6 808285, 'GREY EVENING': route_color
38 808285, 'GREY EVENING SATURDAY': route_color
42 808285, 'GREY SATURDAY': route_color
31 808285, 'GREY SUNDAY': route_color
75 808285, 'ILLINI': route_color
45 5a1d5a, 'ILLINI EVENING': route_color
91 5a1d5a, 'ILLINI EVENING SATURDAY': route_color
67 5a1d5a, 'ILLINI EVENING SUNDAY': route_color
15 5a1d5a, 'ILLINI LIMITED': route_color
49 5a1d5a, 'ILLINI LIMITED EVENING': route_color
79 5a1d5a, 'ILLINI LIMITED EVENING SATURDAY': route_color
73 5a1d5a, 'ILLINI LIMITED SATURDAY': route_color
100 5a1d5a, 'ILLINI LIMITED SUNDAY': route_color
46 5a1d5a, 'LAVENDER': route_color
95 a78bc0, 'LAVENDER ALT': route_color
19 a78bc0, 'LAVENDER SATURDAY': route_color
29 a78bc0, 'LAVENDER SUNDAY': route_color
27 a78bc0, 'LIME EVENING': route_color
99 b2d235, 'LIME EVENING SATURDAY': route_color
14 b2d235, 'LIME SATURDAY': route_color
64 b2d235, 'LIME SUNDAY': route_color
72 b2d235, 'NAVY': route_color
71 2b3088, 'ORANGE': route_color
53 f99f2a, 'ORANGE ALT': route_color
94 f99f2a, 'ORANGEHOPPER': route_color
43 f99f2a, 'PINK': route_color
37 ffbfff, 'RAVEN': route_color
90 000000, 'RED': route_color
21 ed1c24, 'RED SATURDAY': route_color
56 ed1c23, 'RUBY': route_color
44 eb008b, 'RUBY EVENING': route_color
81 eb008b, 'RUBY EVENING SATURDAY': route_color
41 eb008b, 'RUBY SATURDAY': route_color
1 eb008b, 'RUBY SUNDAY': route_color
26 eb008b, 'SILVER': route_color
40 cccccc, 'SILVER EVENING': route_color
68 cccccc, 'SILVER EVENING SATURDAY': route_color
80 cccccc, 'SILVER EVENING SUNDAY': route_color
13 cccccc, 'SILVER LATE NIGHT': route_color
76 cccccc, 'SILVER LIMITED EVENING': route_color
98 d1d3d4, 'SILVER LIMITED EVENING SATURDAY': route_color
62 d1d3d4, 'SILVER LIMITED SATURDAY': route_color
2 d1d3d4, 'SILVER LIMITED SUNDAY': route_color
12 d1d3d4, 'SILVER SATURDAY': route_color
84 cccccc, 'SILVER SUNDAY': route_color
23 cccccc, 'TEAL': route_color
93 006991, 'TEAL EVENING': route_color
66 006991, 'TEAL EVENING SATURDAY': route_color
65 006991, 'TEAL LATE NIGHT': route_color
52 006991, 'TEAL LATE NIGHT SATURDAY': route_color
30 006991, 'TEAL LATE NIGHT SUNDAY': route_color
7 006991, 'TEAL SATURDAY': route_color
18 006991, 'TEAL SUNDAY': route_color
78 006991, 'YELLOW': route_color
20 fcee1f, 'YELLOW EVENING': route_color
54 fcee1f, 'YELLOW EVENING SATURDAY': route_color
35 fcee1f, 'YELLOW LATE NIGHT': route_color
59 fcee1f, 'YELLOW LATE NIGHT SATURDAY': route_color
58 fcee1f, 'YELLOW LATE NIGHT SUNDAY': route_color
4 fcee1f, 'YELLOW SATURDAY': route_color
63 fcee1f, 'YELLOW SUNDAY': route_color
17 fcee1f, 'YELLOWHOPPER': route_color
97 fcee1f}
In [12]:
# shape_id -> route_id
shape_route_dict = {}
for shape in trips_df["shape_id"]:
shape_route_dict[shape]=np.unique(trips_df[trips_df.shape_id==shape][["route_id"]])
In [13]:
shape_route_dict
Out[13]:
{'1 YELLOW ALT 25': array(['1 YELLOW ALT'], dtype=object),
'100 LATE 3': array(['YELLOW LATE NIGHT'], dtype=object),
'100 LATE 5': array(['YELLOW LATE NIGHT'], dtype=object),
'100N': array(['YELLOW EVENING'], dtype=object),
'100N->IT': array(['YELLOW EVENING'], dtype=object),
'100N-LATE': array(['YELLOW LATE NIGHT'], dtype=object),
'100NIT->': array(['YELLOW EVENING'], dtype=object),
'100NLTNT->': array(['YELLOW LATE NIGHT'], dtype=object),
'100S': array(['YELLOW EVENING'], dtype=object),
'100S->PLAZA': array(['YELLOW EVENING'], dtype=object),
'100SLTNT->': array(['YELLOW LATE NIGHT'], dtype=object),
'10E': array(['GOLD'], dtype=object),
'10W AMBP->LSG': array(['GOLD'], dtype=object),
'10W GOLD ALT 1': array(['10W GOLD ALT'], dtype=object),
'10WLSG->': array(['GOLD'], dtype=object),
'10WSV1': array(['GOLD'], dtype=object),
'120W TEAL LATE 12': array(['TEAL LATE NIGHT'], dtype=object),
'12E TEAL 13': array(['TEAL'], dtype=object),
'12E TEAL WEEKEND 13': array(['TEAL SATURDAY'], dtype=object),
'12W TEAL 12': array(['TEAL'], dtype=object),
'12W TEAL WEEKEND 12': array(['TEAL SATURDAY'], dtype=object),
'130N SILVER EVENING 1': array(['SILVER EVENING'], dtype=object),
'130N SILVER EVENING 2': array(['SILVER EVENING'], dtype=object),
'130N SILVER LATE 1': array(['SILVER LATE NIGHT'], dtype=object),
'130N SILVER WEEKEND 1': array(['SILVER SATURDAY'], dtype=object),
'130N SILVER WEEKEND 2': array(['SILVER SATURDAY'], dtype=object),
'130N SILVERLATE 2': array(['SILVER LATE NIGHT'], dtype=object),
'130S SILVER EVENING 3': array(['SILVER EVENING'], dtype=object),
'130S SILVER LATE 3': array(['SILVER LATE NIGHT'], dtype=object),
'130S SILVER WEEKEND 3': array(['SILVER SATURDAY'], dtype=object),
'1415': array(['5W GREEN EXPRESS 2'], dtype=object),
'1420': array(['GREEN EXPRESS'], dtype=object),
'1425': array(['5W GREEN EXPRESS 2'], dtype=object),
'1505': array(['5W GREEN EXPRESS 2'], dtype=object),
'1525': array(['5W GREEN EXPRESS 2'], dtype=object),
'1N YELLOW 5': array(['YELLOW'], dtype=object),
'1N YELLOW 9': array(['YELLOW'], dtype=object),
'1S YELLOW 19': array(['YELLOW'], dtype=object),
'20C GW->MP': array(['RED SATURDAY'], dtype=object),
'20C PS->GW': array(['RED SATURDAY'], dtype=object),
'20C->MP': array(['RED SATURDAY'], dtype=object),
'20U ->IU': array(['RED SATURDAY'], dtype=object),
'20U IT->PS': array(['RED SATURDAY'], dtype=object),
'20U IU->PS': array(['RED SATURDAY'], dtype=object),
'20U->PS': array(['RED SATURDAY'], dtype=object),
'220N ILLINI 10': array(['ILLINI EVENING'], dtype=object),
'220S ILLINI 20': array(['ILLINI EVENING'], dtype=object),
'22N': array(['ILLINI LIMITED'], dtype=object),
'22N 316': array(['ILLINI LIMITED EVENING'], dtype=object),
'22N ILLINI 10': array(['ILLINI'], dtype=object),
'22N ILLINI LIMITED WEEKEND': array(['ILLINI LIMITED SATURDAY'], dtype=object),
'22S ILLINI 20': array(['ILLINI'], dtype=object),
'22S ILLINI 21': array(['ILLINI'], dtype=object),
'30NCMBLQ->BB': array(['LAVENDER SATURDAY'], dtype=object),
'30NIT->BB': array(['LAVENDER SATURDAY'], dtype=object),
'30NIT->CMBLQN': array(['LAVENDER SATURDAY'], dtype=object),
'30SBB->IT': array(['LAVENDER SATURDAY'], dtype=object),
'3N': array(['LAVENDER'], dtype=object),
'3S ALT 1': array(['3S LAVENDER ALT'], dtype=object),
'3S->IT': array(['LAVENDER'], dtype=object),
'4E->GRNWRT:5': array(['BLUE'], dtype=object),
'4W': array(['BLUE'], dtype=object),
'4W BLUE ALT 1': array(['1S YELLOW ALT'], dtype=object),
'4W BLUE ALT PM 1440': array(['1N YELLOW ALT PM'], dtype=object),
'4W BLUE ALT PM 310': array(['1N YELLOW ALT PM'], dtype=object),
'4W BLUE ALT ]2': array(['1S YELLOW ALT'], dtype=object),
'50E GREEN 53': array(['GREEN EVENING'], dtype=object),
'50E HOPPER 102': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'50E HOPPER 103': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'50E->50WLNIGHT': array(['GREEN LATE NIGHT'], dtype=object),
'50E->MNBDY': array(['GREEN SATURDAY'], dtype=object),
'50E->PC': array(['GREEN SATURDAY'], dtype=object),
'50E-WKND-HP->CF': array(['GREEN SATURDAY'], dtype=object),
'50ELTNT->': array(['GREEN LATE NIGHT'], dtype=object),
'50W GREEN 55': array(['GREEN EVENING'], dtype=object),
'50W GREEN 57': array(['GREEN EVENING'], dtype=object),
'50W GREEN 59': array(['GREEN EVENING'], dtype=object),
'50W HOPPER 104': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'50W HOPPER 105': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'50W-LATE': array(['GREEN LATE NIGHT'], dtype=object),
'50WLTNT->': array(['GREEN LATE NIGHT'], dtype=object),
'5E': array(['GREEN'], dtype=object),
'5E EXP 1 ALT': array(['5E GREEN EXPRESS 1 ALT'], dtype=object),
'5E EXP->IU': array(['GREEN EXPRESS'], dtype=object),
'5E GREEN EXP 1': array(['5E GREEN EXPRESS ALT'], dtype=object),
'5E GREEN EXP 2': array(['5E GREEN EXPRESS ALT'], dtype=object),
'5E HOPPER 79': array(['GREENHOPPER'], dtype=object),
'5E NO CSQ': array(['GREEN'], dtype=object),
'5E->IU': array(['GREEN'], dtype=object),
'5EIU->LS': array(['GREEN'], dtype=object),
'5ETOCF': array(['GREEN'], dtype=object),
'5ETOCF->': array(['GREEN'], dtype=object),
'5EX->VET': array(['GREEN EXPRESS'], dtype=object),
'5W CCSJ SG': array(['GREEN'], dtype=object),
'5W HOPPER 80': array(['GREENHOPPER'], dtype=object),
'5W HOPPER 81': array(['GREENHOPPER'], dtype=object),
'5W HOPPER 83': array(['GREENHOPPER'], dtype=object),
'5W HOPPER 84': array(['GREENHOPPER'], dtype=object),
'5W HOPPER 85': array(['GREENHOPPER'], dtype=object),
'5W->740': array(['GREEN'], dtype=object),
'5W->IUE': array(['GREEN'], dtype=object),
'5W-AM': array(['GREEN'], dtype=object),
'5W-AM640': array(['GREEN'], dtype=object),
'5W-AMIUE->': array(['GREEN'], dtype=object),
'5W-AMMNLRMN': array(['GREEN'], dtype=object),
'5W-PM': array(['GREEN'], dtype=object),
'5W-PMFLPHILO->': array(['GREEN'], dtype=object),
'5W-PMLSE->': array(['GREEN'], dtype=object),
'5W740->': array(['GREEN'], dtype=object),
'5WCF': array(['GREEN'], dtype=object),
'5WIUE->': array(['GREEN'], dtype=object),
'5WLSE->': array(['GREEN'], dtype=object),
'5WPM->LSE': array(['GREEN'], dtype=object),
'5WPM->LSE ONLY': array(['GREEN'], dtype=object),
'5WPMIT->': array(['GREEN'], dtype=object),
'5WPMLSE->IT': array(['GREEN'], dtype=object),
'5WX->CF': array(['GREEN EXPRESS'], dtype=object),
'5WXCF->': array(['GREEN EXPRESS'], dtype=object),
'5WXIUE->DNST': array(['GREEN EXPRESS'], dtype=object),
'5WXPM': array(['GREEN EXPRESS'], dtype=object),
'6WIT->CF HOPPER': array(['ORANGEHOPPER'], dtype=object),
'70E': array(['GREY EVENING'], dtype=object),
'70E->50WLATE': array(['GREY EVENING'], dtype=object),
'70E->LSG': array(['GREY EVENING'], dtype=object),
'70E-WKND': array(['GREY SUNDAY'], dtype=object),
'70W': array(['GREY EVENING'], dtype=object),
'70W-WKND': array(['GREY SUNDAY'], dtype=object),
'70WIT->CF': array(['GREY SUNDAY'], dtype=object),
'7E': array(['GREY'], dtype=object),
'7E ALT 2': array(['5W GREEN ALT 2'], dtype=object),
'7E GREY ALT 1': array(['7E GREY ALT'], dtype=object),
'7E GREY ALT 5': array(['7E GREY ALT'], dtype=object),
'7E->740': array(['GREY'], dtype=object),
'7E->LSG': array(['GREY'], dtype=object),
'7E5THBRAD->': array(['GREY'], dtype=object),
'7E740->': array(['GREY'], dtype=object),
'7EIT->': array(['GREY'], dtype=object),
'7W': array(['GREY'], dtype=object),
'7W GREY ALT 1': array(['7W GREY ALT'], dtype=object),
'7W->LSE': array(['GREY'], dtype=object),
'7WLSE->': array(['GREY'], dtype=object),
'8E': array(['BRONZE'], dtype=object),
'8W': array(['BRONZE'], dtype=object),
'8W BRONZE 5': array(['BRONZE'], dtype=object),
'BLUE 3': array(['BLUE'], dtype=object),
'BLUE 51': array(['BLUE'], dtype=object),
'BRONZE 6': array(['BRONZE'], dtype=object),
'GN1PO': array(['GREEN'], dtype=object),
'GN1SATPO': array(['GREEN SATURDAY'], dtype=object),
'GN1SUNPO': array(['GREEN SATURDAY'], dtype=object),
'GN2PO': array(['GREEN'], dtype=object),
'GN3SUNPO': array(['GREY SUNDAY'], dtype=object),
'GN4 SU PO': array(['GREY SUNDAY'], dtype=object),
'GN7PO-': array(['GREEN'], dtype=object),
'GNX2PO': array(['LAVENDER'], dtype=object),
'GOLD 11': array(['GOLD'], dtype=object),
'GOLD 14': array(['GOLD'], dtype=object),
'GOLD 16': array(['GOLD'], dtype=object),
'GOLD 161': array(['GOLD'], dtype=object),
'GOLD 19': array(['GOLD'], dtype=object),
'GOLD 21': array(['GOLD'], dtype=object),
'GOLD 25': array(['GOLD'], dtype=object),
'GOLD 26': array(['GOLD'], dtype=object),
'GOLD 27': array(['GOLD'], dtype=object),
'GOLD 421': array(['GOLD'], dtype=object),
'GOLD 422': array(['GOLD'], dtype=object),
'GOLD 423': array(['GOLD'], dtype=object),
'GOLD 424': array(['GOLD'], dtype=object),
'GOLD 425': array(['GOLD'], dtype=object),
'GOLD 45': array(['GOLD'], dtype=object),
'GOLD 46': array(['GOLD'], dtype=object),
'GOLD 553': array(['GOLD'], dtype=object),
'GOLD 673': array(['GOLD'], dtype=object),
'GOLD 72': array(['GOLD'], dtype=object),
'GOLD 89': array(['GOLD'], dtype=object),
'GOLD 90': array(['GOLD'], dtype=object),
'GOLDHOPPER 1': array(['GOLDHOPPER'], dtype=object),
'GOLDHOPPER 2': array(['GOLDHOPPER'], dtype=object),
'GOLDHOPPER 9': array(['GOLDHOPPER'], dtype=object),
'GR2PO': array(['ILLINI LIMITED SATURDAY'], dtype=object),
'GR4PO': array(['GREY'], dtype=object),
'GREEN 30': array(['GREEN'], dtype=object),
'GREEN 37': array(['GREEN'], dtype=object),
'GREEN 525': array(['GREEN'], dtype=object),
'GREEN 893': array(['GREEN'], dtype=object),
'GREEN 894': array(['GREEN'], dtype=object),
'GREEN 905': array(['GREEN'], dtype=object),
'GREEN 907': array(['GREEN'], dtype=object),
'GREEN EV 72': array(['GREEN EVENING'], dtype=object),
'GREEN EVENING 39': array(['GREEN EVENING'], dtype=object),
'GREEN EVENING 52': array(['GREEN EVENING'], dtype=object),
'GREEN EX 1': array(['GREEN EXPRESS'], dtype=object),
'GREEN EX 27': array(['GREEN EXPRESS'], dtype=object),
'GREEN EX 49': array(['GREEN EXPRESS'], dtype=object),
'GREEN WEEKEND 23': array(['GREEN SATURDAY'], dtype=object),
'GREEN WEEKEND 44': array(['GREEN SATURDAY'], dtype=object),
'GREENHOPPER 89': array(['GREENHOPPER'], dtype=object),
'GREENHOPPER WEEKEND 07': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'GREENHOPPER WEEKEND 106': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'GREY 580': array(['GREY'], dtype=object),
'GREY 582': array(['GREY'], dtype=object),
'HOPPER EV 107': array(['GREENHOPPER EVENING'], dtype=object),
'HOPPER EV 108': array(['GREENHOPPER EVENING'], dtype=object),
'HOPPER EV 62': array(['GREENHOPPER EVENING'], dtype=object),
'HOPPER EV 63': array(['GREENHOPPER EVENING'], dtype=object),
'ILLINI 34': array(['ILLINI'], dtype=object),
'ILLINI 46': array(['ILLINI'], dtype=object),
'ILLINI 47': array(['ILLINI'], dtype=object),
'ILLINI 845': array(['ILLINI LIMITED'], dtype=object),
'ILLINI 845 315': array(['ILLINI LIMITED EVENING'], dtype=object),
'ILLINI EV 25': array(['ILLINI EVENING'], dtype=object),
'ILLINI LIMITED WEEKEND 845': array(['ILLINI LIMITED SATURDAY'], dtype=object),
'L1SATPO': array(['LAVENDER SATURDAY'], dtype=object),
'L2SATPO': array(['LAVENDER SATURDAY'], dtype=object),
'LAVENDER 2': array(['LAVENDER'], dtype=object),
'NAVY 1': array(['NAVY'], dtype=object),
'NAVY 2': array(['NAVY'], dtype=object),
'NAVY 48': array(['NAVY'], dtype=object),
'NAVY 49': array(['NAVY'], dtype=object),
'NAVY 5': array(['NAVY'], dtype=object),
'NAVY 50': array(['NAVY'], dtype=object),
'OD1PO': array(['LAVENDER'], dtype=object),
'ORANGEHOPPER 11': array(['ORANGEHOPPER'], dtype=object),
'ORB4PO': array(['LAVENDER'], dtype=object),
'R1SATPO': array(['RED SATURDAY'], dtype=object),
'R2SATPO': array(['RED SATURDAY'], dtype=object),
'R3SATPO': array(['RED SATURDAY'], dtype=object),
'RED 1': array(['RED'], dtype=object),
'RED 13': array(['RED'], dtype=object),
'RED 17': array(['RED'], dtype=object),
'RED 2': array(['RED'], dtype=object),
'RED 3': array(['RED'], dtype=object),
'RED 4': array(['RED'], dtype=object),
'RED 6': array(['RED'], dtype=object),
'RED 7': array(['RED'], dtype=object),
'RED 8': array(['RED'], dtype=object),
'RED 9': array(['RED'], dtype=object),
'S2PO': array(['GREY'], dtype=object),
'SILVER 120': array(['SILVER'], dtype=object),
'SILVER 121': array(['SILVER EVENING'], dtype=object),
'SILVER 2': array(['SILVER'], dtype=object),
'SILVER 42': array(['SILVER'], dtype=object),
'SILVER 43': array(['SILVER'], dtype=object),
'SILVER LATE 30': array(['SILVER LATE NIGHT'], dtype=object),
'SILVER WEEKEND 31': array(['SILVER SATURDAY'], dtype=object),
'SILVER WEEKEND 42': array(['SILVER SATURDAY'], dtype=object),
'TEAL 23': array(['TEAL'], dtype=object),
'TEAL 24': array(['TEAL'], dtype=object),
'TEAL 25': array(['TEAL'], dtype=object),
'TEAL 26': array(['TEAL'], dtype=object),
'TEAL 27': array(['TEAL'], dtype=object),
'TEAL 34': array(['TEAL'], dtype=object),
'TEAL 35': array(['TEAL'], dtype=object),
'TEAL 45': array(['TEAL'], dtype=object),
'TEAL 98': array(['TEAL'], dtype=object),
'TEAL 99': array(['TEAL'], dtype=object),
'TEAL EVENING 12': array(['TEAL EVENING'], dtype=object),
'TEAL EVENING 13': array(['TEAL EVENING'], dtype=object),
'TEAL EVENING 14': array(['TEAL EVENING'], dtype=object),
'TEAL LATE 14': array(['TEAL LATE NIGHT'], dtype=object),
'TEAL WEEKEND 16': array(['TEAL SATURDAY'], dtype=object),
'TEAL WEEKEND 45': array(['TEAL SATURDAY'], dtype=object),
'YELLOW 10': array(['YELLOW'], dtype=object),
'YELLOW 11': array(['YELLOW'], dtype=object),
'YELLOW 13': array(['YELLOW'], dtype=object),
'YELLOW 14': array(['YELLOW'], dtype=object),
'YELLOW 15': array(['YELLOW'], dtype=object),
'YELLOW 29': array(['YELLOW'], dtype=object),
'YELLOW 4': array(['YELLOW'], dtype=object),
'YELLOW 50': array(['YELLOW'], dtype=object),
'YELLOW 51': array(['YELLOW'], dtype=object),
'YELLOW 52': array(['YELLOW'], dtype=object),
'YELLOW 6': array(['YELLOW'], dtype=object),
'YELLOW 62': array(['YELLOW'], dtype=object),
'YELLOW 7': array(['YELLOW'], dtype=object),
'YELLOWHOPPER 17': array(['YELLOWHOPPER'], dtype=object),
'YELLOWHOPPER 23': array(['YELLOWHOPPER'], dtype=object),
'YELLOWHOPPER 25': array(['YELLOWHOPPER'], dtype=object),
'YELLOWHOPPER 26': array(['YELLOWHOPPER'], dtype=object),
'[@124.0.92229742@]12E TEAL WEEKEND 13': array(['TEAL SUNDAY'], dtype=object),
'[@124.0.92229742@]12W TEAL WEEKEND 12': array(['TEAL SUNDAY'], dtype=object),
'[@124.0.92229742@]TEAL WEEKEND 16': array(['TEAL SUNDAY'], dtype=object),
'[@124.0.92229742@]TEAL WEEKEND 45': array(['TEAL SUNDAY'], dtype=object),
'[@124.0.92234822@]1': array(['RUBY SUNDAY'], dtype=object),
'[@124.0.92234822@]19': array(['RUBY SUNDAY'], dtype=object),
'[@124.0.92234822@]2': array(['RUBY SUNDAY'], dtype=object),
'[@124.0.92234822@]3': array(['RUBY SUNDAY'], dtype=object),
'[@124.0.92236898@]100N': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]100N->IT': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]100NGRNWRT->': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]100S': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]100S->1STGRG': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]100SPLAZA->': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]483': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]485': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]Y1SATPO': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92236898@]Y2SUNPO': array(['YELLOW SUNDAY'], dtype=object),
'[@124.0.92241454@]4': array(['SILVER LIMITED SUNDAY'], dtype=object),
'[@124.0.92241454@]5': array(['SILVER LIMITED SUNDAY'], dtype=object),
'[@124.0.92241454@]7': array(['SILVER LIMITED SUNDAY'], dtype=object),
'[@124.0.92244155@]22N ILLINI LIMITED WEEKEND': array(['ILLINI LIMITED SUNDAY'], dtype=object),
'[@124.0.92244155@]5': array(['ILLINI LIMITED SUNDAY'], dtype=object),
'[@124.0.92244155@]ILLINI LIMITED WEEKEND 845': array(['ILLINI LIMITED SUNDAY'], dtype=object),
'[@124.0.92246230@]1': array(['RUBY EVENING SATURDAY'], dtype=object),
'[@124.0.92246230@]2': array(['RUBY EVENING SATURDAY'], dtype=object),
'[@124.0.92246230@]4': array(['RUBY EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]100N': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]100N->IT': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]100S': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]100S->1STGRG': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]100S->PLAZA': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92247832@]9': array(['YELLOW EVENING SATURDAY'], dtype=object),
'[@124.0.92254999@]43': array(['LIME EVENING SATURDAY'], dtype=object),
'[@124.0.92254999@]45': array(['LIME EVENING SATURDAY'], dtype=object),
'[@124.0.92254999@]46': array(['LIME EVENING SATURDAY'], dtype=object),
'[@124.0.92254999@]51': array(['LIME EVENING SATURDAY'], dtype=object),
'[@124.0.92260187@]220N ILLINI 10': array(['ILLINI EVENING SATURDAY'], dtype=object),
'[@124.0.92260187@]220S ILLINI 20': array(['ILLINI EVENING SATURDAY'], dtype=object),
'[@124.0.92260187@]24': array(['ILLINI EVENING SATURDAY'], dtype=object),
'[@124.0.92260187@]ILLINI EV 25': array(['ILLINI EVENING SATURDAY'], dtype=object),
'[@124.0.92263401@]220N ILLINI 10': array(['ILLINI EVENING SUNDAY'], dtype=object),
'[@124.0.92263401@]220S ILLINI 20': array(['ILLINI EVENING SUNDAY'], dtype=object),
'[@124.0.92263401@]24': array(['ILLINI EVENING SUNDAY'], dtype=object),
'[@124.0.92263401@]ILLINI EV 25': array(['ILLINI EVENING SUNDAY'], dtype=object),
'[@124.0.92275054@]120E TEAL LATE 13': array(['TEAL LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92275054@]120W TEAL LATE 12': array(['TEAL LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92275054@]TEAL LATE 14': array(['TEAL LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92276155@]120E TEAL LATE 13': array(['TEAL LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92276155@]120W TEAL LATE 12': array(['TEAL LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92276155@]TEAL LATE 14': array(['TEAL LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92279199@]TEAL EVENING 12': array(['TEAL EVENING SATURDAY'], dtype=object),
'[@124.0.92279199@]TEAL EVENING 13': array(['TEAL EVENING SATURDAY'], dtype=object),
'[@124.0.92279199@]TEAL EVENING 14': array(['TEAL EVENING SATURDAY'], dtype=object),
'[@124.0.92281033@]130N SILVER WEEKEND 1': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92281033@]130N SILVER WEEKEND 2': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92281033@]130S SILVER WEEKEND 3': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92281033@]SILVER WEEKEND 31': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92281033@]SILVER WEEKEND 42': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92281033@]SILVER WEEKEND 43': array(['SILVER SUNDAY'], dtype=object),
'[@124.0.92284627@]130N SILVER EVENING 1': array(['SILVER EVENING SATURDAY'], dtype=object),
'[@124.0.92284627@]130N SILVER EVENING 2': array(['SILVER EVENING SATURDAY'], dtype=object),
'[@124.0.92284627@]130S SILVER EVENING 3': array(['SILVER EVENING SATURDAY'], dtype=object),
'[@124.0.92284627@]SILVER 121': array(['SILVER EVENING SATURDAY'], dtype=object),
'[@124.0.92286725@]130N SILVER EVENING 1': array(['SILVER EVENING SUNDAY'], dtype=object),
'[@124.0.92286725@]130N SILVER EVENING 2': array(['SILVER EVENING SUNDAY'], dtype=object),
'[@124.0.92286725@]130S SILVER EVENING 3': array(['SILVER EVENING SUNDAY'], dtype=object),
'[@124.0.92286725@]SILVER 121': array(['SILVER EVENING SUNDAY'], dtype=object),
'[@124.0.92311676@]32': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92311676@]50E GREEN 53': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92311676@]50W GREEN 59': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92311676@]71': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92311676@]GREEN EV 61': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92311676@]GREEN EVENING 39': array(['GREEN EVENING SATURDAY'], dtype=object),
'[@124.0.92319406@]1': array(['GREY EVENING SATURDAY'], dtype=object),
'[@124.0.92319406@]20': array(['GREY EVENING SATURDAY'], dtype=object),
'[@124.0.92319406@]4': array(['GREY EVENING SATURDAY'], dtype=object),
'[@124.0.92319406@]7': array(['GREY EVENING SATURDAY'], dtype=object),
'[@124.0.92319406@]9': array(['GREY EVENING SATURDAY'], dtype=object),
'[@124.0.92327957@]100 LATE 3': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]100 LATE 4': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]100 LATE 5': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]100N-LATE': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]100NLTNT->': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]100SLTNT->': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92327957@]32': array(['YELLOW LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92330667@]100 LATE 3': array(['YELLOW LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92330667@]100 LATE 4': array(['YELLOW LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92330667@]100 LATE 5': array(['YELLOW LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92330667@]100NLTNT->': array(['YELLOW LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92330667@]100SLTNT->': array(['YELLOW LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92334988@]1': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]219': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]395': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]397': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]50E->LS': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]50E->PC': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]50W-WKND': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]50W-WKND->IT': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]GN1SUNPO': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]GN4SUNPO': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]GN5SUNPO': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92334988@]GREEN WEEKEND 32': array(['GREEN SUNDAY'], dtype=object),
'[@124.0.92344750@]50E->50WLNIGHT': array(['GREEN LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92344750@]50E-LATE': array(['GREEN LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92344750@]50W-LATE': array(['GREEN LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92344750@]50WLTNT->': array(['GREEN LATE NIGHT SATURDAY'], dtype=object),
'[@124.0.92345918@]50E-LATE': array(['GREEN LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92345918@]50W-LATE': array(['GREEN LATE NIGHT SUNDAY'], dtype=object),
'[@124.0.92348983@]22N 316': array(['ILLINI LIMITED EVENING SATURDAY'], dtype=object),
'[@124.0.92348983@]ILLINI 845 315': array(['ILLINI LIMITED EVENING SATURDAY'], dtype=object),
'[@124.0.92350475@]2': array(['SILVER LIMITED EVENING SATURDAY'], dtype=object),
'[@124.0.92350475@]3': array(['SILVER LIMITED EVENING SATURDAY'], dtype=object),
'[@14.0.51708617@]32': array(['YELLOW'], dtype=object),
'[@14.0.56288268@]341': array(['BLUE'], dtype=object),
'[@14.0.56288340@]23': array(['YELLOW EVENING'], dtype=object),
'[@14.0.56288404@]14': array(['RED'], dtype=object),
'[@14.0.56288404@]21': array(['RED'], dtype=object),
'[@14.0.56288404@]24': array(['RED'], dtype=object),
'[@14.0.56288404@]31': array(['RED'], dtype=object),
'[@14.0.56288404@]32': array(['RED'], dtype=object),
'[@14.0.56288404@]33': array(['RED'], dtype=object),
'[@14.0.56288404@]40': array(['RED'], dtype=object),
'[@14.0.56288404@]42': array(['RED'], dtype=object),
'[@14.0.56288404@]45': array(['RED'], dtype=object),
'[@14.0.56288404@]5': array(['RED'], dtype=object),
'[@14.0.56288498@]24': array(['ILLINI EVENING'], dtype=object),
'[@14.0.56288722@]18': array(['YELLOW'], dtype=object),
'[@14.0.56288722@]34': array(['YELLOW'], dtype=object),
'[@14.0.56288722@]35': array(['YELLOW'], dtype=object),
'[@14.0.56288722@]36': array(['YELLOW'], dtype=object),
'[@14.0.56288722@]64': array(['YELLOW'], dtype=object),
'[@14.0.56288947@]26': array(['5E GREEN EXPRESS 1 ALT'], dtype=object),
'[@14.0.56289002@]26': array(['1 YELLOW ALT'], dtype=object),
'[@14.0.56289035@]63': array(['GREEN EXPRESS'], dtype=object),
'[@14.0.57586460@]38': array(['LIME SATURDAY'], dtype=object),
'[@14.0.57766396@]100N': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]100NGRNWRT->': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]100NY1': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]100S': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]100S->BRWSWDFLD': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]Y1SATPO': array(['YELLOW SATURDAY'], dtype=object),
'[@14.0.57766396@]Y3SATPO': array(['YELLOW SATURDAY'], dtype=object),
'[@15.0.59410957@]1': array(['BROWN ALT'], dtype=object),
'[@15.0.59410957@]2': array(['BROWN ALT'], dtype=object),
'[@15.0.60390798@]11': array(['BROWN ALT'], dtype=object),
'[@15.0.60391334@]37': array(['LIME EVENING'], dtype=object),
'[@15.0.60391486@]2': array(['7E GREY ALT'], dtype=object),
'[@15.0.61662606@]1': array(['BROWN'], dtype=object),
'[@15.0.61662606@]11': array(['BROWN'], dtype=object),
'[@15.0.61662606@]114': array(['BROWN'], dtype=object),
'[@15.0.61662606@]133': array(['BROWN'], dtype=object),
'[@15.0.61662606@]136': array(['BROWN'], dtype=object),
'[@15.0.61662606@]137': array(['BROWN'], dtype=object),
'[@15.0.61662606@]138': array(['BROWN'], dtype=object),
'[@15.0.61662606@]140': array(['BROWN'], dtype=object),
'[@15.0.61662606@]364': array(['BROWN'], dtype=object),
'[@15.0.61662606@]366': array(['BROWN'], dtype=object),
'[@15.0.61662606@]574': array(['BROWN'], dtype=object),
'[@15.0.61662606@]590': array(['BROWN'], dtype=object),
'[@15.0.61662606@]591': array(['BROWN'], dtype=object),
'[@15.0.61662606@]593': array(['BROWN'], dtype=object),
'[@15.0.61662606@]690': array(['BROWN'], dtype=object),
'[@15.0.61662606@]694': array(['BROWN'], dtype=object),
'[@15.0.61662606@]706': array(['BROWN'], dtype=object),
'[@15.0.61662606@]714': array(['BROWN'], dtype=object),
'[@15.0.61662606@]754': array(['BROWN'], dtype=object),
'[@15.0.61734120@]1': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]2': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]215': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]225': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]240': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]316': array(['BROWN ALT PM'], dtype=object),
'[@15.0.61734120@]335': array(['BROWN ALT PM'], dtype=object),
'[@15.0.63188916@]15': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.63189004@]23': array(['YELLOW'], dtype=object),
'[@15.0.63189004@]25': array(['YELLOW'], dtype=object),
'[@15.0.63189099@]29': array(['YELLOWHOPPER'], dtype=object),
'[@15.0.63189138@]10': array(['YELLOW EVENING'], dtype=object),
'[@15.0.63189138@]25': array(['YELLOW EVENING'], dtype=object),
'[@15.0.63189138@]8': array(['YELLOW EVENING'], dtype=object),
'[@15.0.63189138@]9': array(['YELLOW EVENING'], dtype=object),
'[@15.0.63189208@]3': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'[@15.0.63191692@]369': array(['GOLD'], dtype=object),
'[@15.0.63191692@]370': array(['GOLD'], dtype=object),
'[@15.0.63191692@]43': array(['GOLD'], dtype=object),
'[@15.0.63191892@]26': array(['3S LAVENDER ALT'], dtype=object),
'[@15.0.63192037@]1': array(['BRONZE'], dtype=object),
'[@15.0.63192037@]3': array(['BRONZE'], dtype=object),
'[@15.0.63192037@]4': array(['BRONZE'], dtype=object),
'[@15.0.63192099@]7': array(['YELLOW LATE NIGHT'], dtype=object),
'[@15.0.63192124@]23': array(['YELLOW SATURDAY'], dtype=object),
'[@15.0.63192185@]43': array(['ILLINI LIMITED'], dtype=object),
'[@15.0.63192321@]21': array(['GREEN'], dtype=object),
'[@15.0.63192321@]25': array(['GREEN'], dtype=object),
'[@15.0.63192528@]43': array(['ILLINI'], dtype=object),
'[@15.0.63192662@]3': array(['LAVENDER'], dtype=object),
'[@15.0.63192662@]36': array(['LAVENDER'], dtype=object),
'[@15.0.63192662@]4': array(['LAVENDER'], dtype=object),
'[@15.0.63192662@]5': array(['LAVENDER'], dtype=object),
'[@15.0.63192662@]604': array(['LAVENDER'], dtype=object),
'[@15.0.63192993@]31': array(['BROWN ALT PM'], dtype=object),
'[@15.0.64600293@]1': array(['RUBY'], dtype=object),
'[@15.0.64600293@]17': array(['RUBY'], dtype=object),
'[@15.0.64600293@]2': array(['RUBY'], dtype=object),
'[@15.0.64613606@]1': array(['RUBY EVENING'], dtype=object),
'[@15.0.64613606@]2': array(['RUBY EVENING'], dtype=object),
'[@15.0.64613606@]3': array(['RUBY EVENING'], dtype=object),
'[@15.0.64613606@]4': array(['RUBY EVENING'], dtype=object),
'[@15.0.64657075@]1': array(['RUBY SATURDAY'], dtype=object),
'[@15.0.64657075@]19': array(['RUBY SATURDAY'], dtype=object),
'[@15.0.64657075@]2': array(['RUBY SATURDAY'], dtype=object),
'[@15.0.66063517@]6': array(['RUBY EVENING'], dtype=object),
'[@15.0.66063553@]12': array(['ILLINI'], dtype=object),
'[@15.0.66064083@]23': array(['GREEN EVENING'], dtype=object),
'[@15.0.66064083@]71': array(['GREEN EVENING'], dtype=object),
'[@15.0.66064083@]76': array(['GREEN EVENING'], dtype=object),
'[@15.0.66064923@]3': array(['RUBY SATURDAY'], dtype=object),
'[@15.0.66066034@]15': array(['RED'], dtype=object),
'[@15.0.66066034@]53': array(['RED'], dtype=object),
'[@15.0.67916770@]1': array(['SILVER LIMITED SATURDAY'], dtype=object),
'[@15.0.67916770@]2': array(['SILVER LIMITED SATURDAY'], dtype=object),
'[@15.0.67916770@]3': array(['SILVER LIMITED SATURDAY'], dtype=object),
'[@15.0.67924657@]4': array(['SILVER LIMITED EVENING'], dtype=object),
'[@15.0.67924657@]7': array(['SILVER LIMITED EVENING'], dtype=object),
'[@15.0.68508734@]48': array(['GREEN'], dtype=object),
'[@15.0.68508734@]57': array(['GREEN'], dtype=object),
'[@15.0.68508734@]58': array(['GREEN'], dtype=object),
'[@15.0.68508734@]65': array(['GREEN'], dtype=object),
'[@15.0.68508734@]66': array(['GREEN'], dtype=object),
'[@15.0.68508995@]2': array(['GREY EVENING'], dtype=object),
'[@15.0.68508995@]404': array(['GREY EVENING'], dtype=object),
'[@15.0.68508995@]405': array(['GREY EVENING'], dtype=object),
'[@15.0.68511845@]30': array(['YELLOW'], dtype=object),
'[@15.0.68511981@]39': array(['GREENHOPPER'], dtype=object),
'[@15.0.68511981@]91': array(['GREENHOPPER'], dtype=object),
'[@15.0.68511981@]92': array(['GREENHOPPER'], dtype=object),
'[@15.0.68511981@]93': array(['GREENHOPPER'], dtype=object),
'[@15.0.68511981@]95': array(['GREENHOPPER'], dtype=object),
'[@15.0.68511981@]99': array(['GREENHOPPER'], dtype=object),
'[@15.0.68512008@]101': array(['GREENHOPPER EVENING SATURDAY'], dtype=object),
'[@15.0.68512037@]696': array(['BROWN'], dtype=object),
'[@15.0.68512361@]3': array(['GREY SUNDAY'], dtype=object),
'[@15.0.68512430@]37': array(['GREY'], dtype=object),
'[@15.0.68512430@]585': array(['GREY'], dtype=object),
'[@15.0.68512636@]18': array(['RED'], dtype=object),
'[@15.0.68512636@]19': array(['RED'], dtype=object),
'[@15.0.68512808@]3': array(['ILLINI LIMITED'], dtype=object),
'[@15.0.68512960@]110': array(['GREENHOPPER EVENING'], dtype=object),
'[@15.0.68512960@]111': array(['GREENHOPPER EVENING'], dtype=object),
'[@15.0.68512960@]112': array(['GREENHOPPER EVENING'], dtype=object),
'[@15.0.68512960@]65': array(['GREENHOPPER EVENING'], dtype=object),
'[@15.0.68513015@]219': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.68513015@]220': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.68513188@]4': array(['ILLINI'], dtype=object),
'[@15.0.68513410@]21': array(['ORANGEHOPPER'], dtype=object),
'[@15.0.68513410@]63': array(['ORANGEHOPPER'], dtype=object),
'[@15.0.69155236@]1': array(['ORANGE ALT'], dtype=object),
'[@15.0.69155236@]36': array(['ORANGE ALT'], dtype=object),
'[@15.0.69155236@]37': array(['ORANGE ALT'], dtype=object),
'[@15.0.69155236@]530': array(['ORANGE ALT'], dtype=object),
'[@15.0.69155236@]540': array(['ORANGE ALT'], dtype=object),
'[@15.0.69155236@]57': array(['ORANGE ALT'], dtype=object),
'[@15.0.69172548@]1': array(['GREY SATURDAY'], dtype=object),
'[@15.0.69172548@]2': array(['GREY SATURDAY'], dtype=object),
'[@15.0.69172548@]7': array(['GREY SATURDAY'], dtype=object),
'[@15.0.70780160@]363': array(['BRONZE'], dtype=object),
'[@15.0.70780451@]31': array(['5E GREEN EXPRESS ALT'], dtype=object),
'[@15.0.70780822@]4': array(['3S LAVENDER ALT'], dtype=object),
'[@15.0.70781343@]3': array(['1S YELLOW ALT'], dtype=object),
'[@15.0.70781976@]15': array(['BROWN ALT'], dtype=object),
'[@15.0.71205318@]1': array(['LAVENDER SUNDAY'], dtype=object),
'[@15.0.71205318@]2': array(['LAVENDER SUNDAY'], dtype=object),
'[@15.0.71205318@]30NIT->BB': array(['LAVENDER SUNDAY'], dtype=object),
'[@15.0.71205318@]30SBB->IT': array(['LAVENDER SUNDAY'], dtype=object),
'[@15.0.73006437@]18': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.73006437@]37': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.73006437@]38': array(['GREEN SATURDAY'], dtype=object),
'[@15.0.73007178@]121': array(['SILVER'], dtype=object),
'[@15.0.73007320@]111': array(['GREEN'], dtype=object),
'[@15.0.73007320@]13': array(['GREEN'], dtype=object),
'[@15.0.73007320@]506': array(['GREEN'], dtype=object),
'[@15.0.73007815@]73': array(['GREY EVENING'], dtype=object),
'[@15.0.73007921@]22': array(['RED'], dtype=object),
'[@15.0.73008535@]13': array(['GREY SATURDAY'], dtype=object),
'[@15.0.73008754@]31': array(['LIME EVENING'], dtype=object),
'[@15.0.73008754@]33': array(['LIME EVENING'], dtype=object),
'[@15.0.73008754@]35': array(['LIME EVENING'], dtype=object),
'[@15.0.73008754@]38': array(['LIME EVENING'], dtype=object),
'[@15.0.73008754@]39': array(['LIME EVENING'], dtype=object),
'[@15.0.73009433@]41': array(['LIME SATURDAY'], dtype=object),
'[@15.0.73009433@]43': array(['LIME SATURDAY'], dtype=object),
'[@15.0.73009433@]44': array(['LIME SATURDAY'], dtype=object),
'[@15.0.73009433@]45': array(['LIME SATURDAY'], dtype=object),
'[@15.0.73009433@]51': array(['LIME SATURDAY'], dtype=object),
'[@15.0.73009483@]22': array(['ORANGEHOPPER'], dtype=object),
'[@15.0.74000704@]37': array(['LIME SUNDAY'], dtype=object),
'[@15.0.74000704@]38': array(['LIME SUNDAY'], dtype=object),
'[@15.0.74000704@]41': array(['LIME SUNDAY'], dtype=object),
'[@15.0.74000704@]51': array(['LIME SUNDAY'], dtype=object),
'[@15.0.79613563@]47': array(['TEAL'], dtype=object),
'[@2.0.80546279@]243': array(['BRONZE'], dtype=object),
'[@2.0.80546903@]58': array(['RED'], dtype=object),
'[@2.0.80546903@]59': array(['RED'], dtype=object),
'[@2.0.80547772@]12': array(['GREEN'], dtype=object),
'[@2.0.80548152@]2': array(['BROWN'], dtype=object),
'[@2.0.81457398@]15': array(['RAVEN'], dtype=object),
'[@2.0.81457398@]16': array(['RAVEN'], dtype=object),
'[@2.0.81838518@]100': array(['PINK'], dtype=object),
'[@2.0.81838518@]101': array(['PINK'], dtype=object),
'[@2.0.81838518@]102': array(['PINK'], dtype=object),
'[@2.0.81838518@]103': array(['PINK'], dtype=object),
'[@2.0.81838518@]104': array(['PINK'], dtype=object),
'[@2.0.81838518@]12': array(['PINK'], dtype=object),
'[@2.0.82999720@]3': array(['1 YELLOW ALT'], dtype=object),
'[@2.0.83502711@]3': array(['1N YELLOW ALT'], dtype=object),
'[@2.0.84876422@]22': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]62': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]885': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 1': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 1415': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 1425': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 1440': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 1505': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LAVENDER 43': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84876422@]LP1SCHOOLPO': array(['LAVENDER ALT'], dtype=object),
'[@2.0.84887452@]67': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]7': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]GREEN 1': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]GREEN 2': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]GREEN 3': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]GREEN 336': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]S6 ALT': array(['GREEN ALT'], dtype=object),
'[@2.0.84887452@]SCWD UMS': array(['GREEN ALT'], dtype=object),
'[@2.0.84907145@]1435': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]21': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]25': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]326': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]331': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]336': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]34': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]36': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]7W SHOW 226': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]7W SHOW 97': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]7W UHS 216': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]88': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]BA3-3 58': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]GREY 1415': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]GREY 1425': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]GREY 1525': array(['GREY ALT'], dtype=object),
'[@2.0.84907145@]GREY 1535': array(['GREY ALT'], dtype=object),
'[@2.0.84916234@]65': array(['BROWN ALT1'], dtype=object),
'[@2.0.84927215@]2': array(['GOLD ALT'], dtype=object),
'[@2.0.84927215@]GOLD 1': array(['GOLD ALT'], dtype=object),
'[@2.0.84927215@]GOLD 1505': array(['GOLD ALT'], dtype=object),
'[@2.0.84927215@]GOLD 1535': array(['GOLD ALT'], dtype=object),
'[@2.0.84927215@]GOLD 336': array(['GOLD ALT'], dtype=object),
'[@2.0.84927215@]ORB2 UMS': array(['GOLD ALT'], dtype=object),
'[@2.0.84948307@]11': array(['BRONZE ALT'], dtype=object),
'[@2.0.84948307@]133': array(['BRONZE ALT'], dtype=object),
'[@2.0.84948307@]2': array(['BRONZE ALT'], dtype=object),
'[@2.0.84948307@]22': array(['BRONZE ALT'], dtype=object),
'[@2.0.84948307@]7': array(['BRONZE ALT'], dtype=object),
'[@2.0.84953216@]33': array(['GREEN EXPRESS ALT'], dtype=object),
'[@2.0.84953216@]43': array(['GREEN EXPRESS ALT'], dtype=object),
'[@2.0.84953216@]GREEN EX 1425': array(['GREEN EXPRESS ALT'], dtype=object),
'[@2.0.85633009@]76': array(['GOLD'], dtype=object),
'[@2.0.85633009@]78': array(['GOLD'], dtype=object),
'[@2.0.85633622@]8': array(['ILLINI LIMITED'], dtype=object),
'[@2.0.85634618@]21': array(['LAVENDER'], dtype=object),
'[@2.0.85634827@]37': array(['ILLINI EVENING'], dtype=object),
'[@2.0.85635071@]58': array(['ILLINI LIMITED EVENING'], dtype=object),
'[@2.0.86175868@]18': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]19': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]25': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]27': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]34': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]42': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]53': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]56': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]6WIT->CF': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]7': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]70': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]75': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 12': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 13': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 14': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 16': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 17': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 23': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 24': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 31': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 32': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 33': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 610': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 63': array(['ORANGE'], dtype=object),
'[@2.0.86175868@]ORANGE 64': array(['ORANGE'], dtype=object),
'[@2.0.86232218@]426': array(['GOLD'], dtype=object)}
In [14]:
# shape_id -> route_color
shape_color_dict = {}
for shape, route in shape_route_dict.items():
for route_id in route:
shape_color_dict[shape]=route_color_dict[route_id]
"#"+str(shape_color_dict['20U ->IU'])[-6:]
Out[14]:
'#ed1c23'
In [15]:
df_shapes_group = pd.DataFrame()
df_shapes_group = shapes_df.groupby("shape_id")
In [16]:
str(shape_route_dict['20U ->IU'])[2:-2]
Out[16]:
'RED SATURDAY'
In [17]:
for name, group in df_shapes_group:
shape_color_dict[name]
In [18]:
# route_color -> route_id
color_map_test = {}
for color,count in Counter(routes_df["route_color"]).items():
color_map_test[color]=[]
color_map_test[color].append(routes_df[routes_df.route_color==color][["route_id"]])
color_map_test
Out[18]:
{'000000': [ route_id
90 RAVEN], '006991': [ route_id
7 TEAL LATE NIGHT SUNDAY
18 TEAL SATURDAY
30 TEAL LATE NIGHT SATURDAY
52 TEAL LATE NIGHT
65 TEAL EVENING SATURDAY
66 TEAL EVENING
78 TEAL SUNDAY
93 TEAL], '008063': [ route_id
5 GREEN EVENING SATURDAY
8 GREEN LATE NIGHT SATURDAY
9 5E GREEN EXPRESS 1 ALT
10 GREEN SATURDAY
16 GREENHOPPER EVENING SATURDAY
22 5E GREEN EXPRESS ALT
24 GREENHOPPER
25 GREEN
32 GREEN EXPRESS ALT
33 GREENHOPPER EVENING
39 5W GREEN ALT 2
57 GREEN ALT
60 GREEN EVENING
69 GREEN LATE NIGHT SUNDAY
74 GREEN LATE NIGHT
82 GREEN SUNDAY
86 5W GREEN EXPRESS 2
96 GREEN EXPRESS], '2b3088': [ route_id
71 NAVY], '355caa': [ route_id
61 BLUE], '5a1d5a': [ route_id
15 ILLINI EVENING SUNDAY
45 ILLINI
46 ILLINI LIMITED SUNDAY
49 ILLINI LIMITED
67 ILLINI EVENING SATURDAY
73 ILLINI LIMITED EVENING SATURDAY
79 ILLINI LIMITED EVENING
91 ILLINI EVENING
100 ILLINI LIMITED SATURDAY], '808285': [ route_id
6 GREY ALT
31 GREY SATURDAY
38 GREY EVENING
42 GREY EVENING SATURDAY
47 GREY
48 7E GREY ALT
75 GREY SUNDAY
92 7W GREY ALT], '823822': [ route_id
3 BROWN ALT PM
36 BROWN ALT], '825622': [ route_id
50 BROWN
87 BROWN ALT1], '9e8966': [ route_id
70 BRONZE ALT
85 BRONZE], 'a78bc0': [ route_id
11 3S LAVENDER ALT
19 LAVENDER ALT
27 LAVENDER SUNDAY
29 LAVENDER SATURDAY
95 LAVENDER], 'b2d235': [ route_id
14 LIME EVENING SATURDAY
64 LIME SATURDAY
72 LIME SUNDAY
99 LIME EVENING], 'c7994a': [ route_id
0 GOLD ALT
34 GOLD
77 10W GOLD ALT
83 GOLDHOPPER], 'cccccc': [ route_id
13 SILVER EVENING SUNDAY
23 SILVER SUNDAY
40 SILVER
68 SILVER EVENING
76 SILVER LATE NIGHT
80 SILVER EVENING SATURDAY
84 SILVER SATURDAY], 'd1d3d4': [ route_id
2 SILVER LIMITED SATURDAY
12 SILVER LIMITED SUNDAY
62 SILVER LIMITED EVENING SATURDAY
98 SILVER LIMITED EVENING], 'eb008b': [ route_id
1 RUBY SATURDAY
26 RUBY SUNDAY
41 RUBY EVENING SATURDAY
44 RUBY
81 RUBY EVENING], 'ed1c23': [ route_id
56 RED SATURDAY], 'ed1c24': [ route_id
21 RED], 'f99f2a': [ route_id
43 ORANGEHOPPER
53 ORANGE
94 ORANGE ALT], 'fcee1f': [ route_id
4 YELLOW LATE NIGHT SUNDAY
17 YELLOW SUNDAY
20 YELLOW
35 YELLOW EVENING SATURDAY
51 1N YELLOW ALT PM
54 YELLOW EVENING
55 1 YELLOW ALT
58 YELLOW LATE NIGHT SATURDAY
59 YELLOW LATE NIGHT
63 YELLOW SATURDAY
88 1N YELLOW ALT
89 1S YELLOW ALT
97 YELLOWHOPPER], 'ffbfff': [ route_id
37 PINK]}
In [19]:
color_map = {}
color_map['#000000']="RAVEN"
color_map['#006991']="TEAL Series"
color_map['#008063']="GREEN Series"
color_map['#2b3088']="NAVY"
color_map['#355caa']="BLUE"
color_map['#5a1d5a']="ILLINI Series"
color_map['#808285']="GREY Series"
color_map['#823822']="BROWN ALT (PM)"
color_map['#825622']="BROWN & BROWN ALT1"
color_map['#9e8966']="BRONZE Series"
color_map['#a78bc0']="LAVENDER Series"
color_map['#b2d235']="LIME Series"
color_map['#c7994a']="GOLD Series"
color_map['#cccccc']="SILVER Series"
color_map['#d1d3d4']="SILVER LIMITED Series"
color_map['#eb008b']="RUBY Series"
color_map['#ed1c23']="RED SATURDAY"
color_map['#ed1c24']="RED"
color_map['#f99f2a']="ORANGE Series"
color_map['#fcee1f']="YELLOW Series"
color_map['#ffbfff']="PINK"
color_map
Out[19]:
{'#000000': 'RAVEN',
'#006991': 'TEAL Series',
'#008063': 'GREEN Series',
'#2b3088': 'NAVY',
'#355caa': 'BLUE',
'#5a1d5a': 'ILLINI Series',
'#808285': 'GREY Series',
'#823822': 'BROWN ALT (PM)',
'#825622': 'BROWN & BROWN ALT1',
'#9e8966': 'BRONZE Series',
'#a78bc0': 'LAVENDER Series',
'#b2d235': 'LIME Series',
'#c7994a': 'GOLD Series',
'#cccccc': 'SILVER Series',
'#d1d3d4': 'SILVER LIMITED Series',
'#eb008b': 'RUBY Series',
'#ed1c23': 'RED SATURDAY',
'#ed1c24': 'RED',
'#f99f2a': 'ORANGE Series',
'#fcee1f': 'YELLOW Series',
'#ffbfff': 'PINK'}
In [20]:
handles = []
for key, value in sorted(color_map.items()):
handles.append(mpatches.Patch(color=key,label=value))
In [21]:
plt.rcParams["figure.figsize"] = (14, 14)
for name, group in df_shapes_group:
plt.plot(group['shape_pt_lon'],group['shape_pt_lat'],color="#"+str(shape_color_dict[name])[-6:],linestyle="solid",linewidth=1.5,alpha=0.9)
plt.xlabel("Longitude",fontsize=20)
plt.ylabel("Latitude",fontsize=20)
plt.title("Shapes in their Routes' Colors\n(677 Shapes in Total)",fontweight="bold",fontsize=22)
plt.grid(color='gray', linestyle='dotted')
ax=plt.gca()
ax.set_yticks(np.arange(40.05,40.16,0.01))
ax.set_xticks(np.arange(-88.32,-88.15,0.01))
ax.legend(title="Colors of Routes",handles=handles,prop={'size':12},loc='center left', bbox_to_anchor=(1,0.5))
plt.savefig('Shapes in Routes Colors.svg', bbox_inches='tight')
plt.savefig('Shapes in Routes Colors.png', bbox_inches='tight')
In [ ]:
Content source: huilyu2/DataVisualization
Similar notebooks: