LocationIdentifiers.make_xref_dict¶
- LocationIdentifiers.make_xref_dict(keys, initials=None, main_key=None, as_dict=False, drop_duplicates=False, dump_it=False, dump_dir=None, verbose=False)[source]¶
Creates a dictionary or dataframe containing location code data for the specified
keys
.- Parameters:
keys (str | list) – A string or list of keys from
['CRS', 'NLC', 'TIPLOC', 'STANOX', 'STANME']
representing the location codes.initials (str | list | None) – A string or list of initials for which the codes are filtered; defaults to
None
.main_key (str | None) – The key used for the returned dictionary when
as_dict=True
; defaults toNone
.as_dict (bool) – If
True
, returns the result as a dictionary; otherwise, returns a dataframe; defaults toFalse
.drop_duplicates (bool) – If
True
, removes duplicate entries from the result; defaults toFalse
.dump_it (bool) – If
True
, saves the result to a file; defaults toFalse
.dump_dir (str | None) – The directory path where the file can be saved, if
dump_it=True
; defaults toNone
.verbose (bool | int) – Whether to print relevant information to the console; defaults to
False
.
- Returns:
A dictionary or dataframe containing cross-reference location data for the specified
keys
, orNone
if no data is available.- Return type:
dict | pandas.DataFrame | None
Examples:
>>> from pyrcs.line_data import LocationIdentifiers >>> # from pyrcs import LocationIdentifiers >>> lid = LocationIdentifiers() >>> stanox_dictionary = lid.make_xref_dict(keys='STANOX') >>> type(stanox_dictionary) pandas.core.frame.DataFrame >>> stanox_dictionary.head() Location STANOX 00005 Aachen 04309 Abbeyhill Junction 04311 Abbeyhill Signal E811 04308 Abbeyhill Turnback Sidings 88601 Abbey Wood >>> s_t_dictionary = lid.make_xref_dict(keys=['STANOX', 'TIPLOC'], initials='a') >>> type(s_t_dictionary) pandas.core.frame.DataFrame >>> s_t_dictionary.head() Location STANOX TIPLOC 00005 AACHEN Aachen 04309 ABHLJN Abbeyhill Junction 04311 ABHL811 Abbeyhill Signal E811 04308 ABHLTB Abbeyhill Turnback Sidings 88601 ABWD Abbey Wood >>> ks = ['STANOX', 'TIPLOC'] >>> ini = 'b' >>> main_k = 'Data' >>> s_t_dictionary = lid.make_xref_dict(ks, ini, main_k, as_dict=True) >>> type(s_t_dictionary) dict >>> list(s_t_dictionary.keys()) ['Data'] >>> list(s_t_dictionary['Data'].keys())[:5] [('55115', ''), ('23490', 'BABWTHL'), ('38306', 'BACHE'), ('66021', 'BADESCL'), ('81003', 'BADMTN')]