Download Generating_Named_Dataset.py from prathamg007/Mission_Impossible: direct link, hf CLI and curl.
- Browser
- Download file 2.47 kB
-
https://huggingface.co/prathamg007/Mission_Impossible/resolve/main/Generating_Named_Dataset.py
- Command line
-
hf download hf://prathamg007/Mission_Impossible/Generating_Named_Dataset.py
-
curl -L -o Generating_Named_Dataset.py https://huggingface.co/prathamg007/Mission_Impossible/resolve/main/Generating_Named_Dataset.py
2.47 kB
| import pandas as pd | |
| from itertools import product | |
| cities = ["New York", "Boston", "Chicago", "Washington", "Philadelphia"] #Name of all the cities we are taking | |
| days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]# Days of the week on which the trains are running | |
| train_types = ["Local", "Express"] # 2 Kinds of trains | |
| departure_times = ["06:00", "09:00", "12:00"] # 3 Possible departure times | |
| distances = { # Real world approximated distances between cities | |
| ("New York", "Boston"): "350", | |
| ("New York", "Chicago"): "1200", | |
| ("New York", "Washington"): "400", | |
| ("New York", "Philadelphia"): "150", | |
| ("Boston", "Chicago"): "1400", | |
| ("Boston", "Washington"): "600", | |
| ("Boston", "Philadelphia"): "500", | |
| ("Chicago", "Washington"): "1100", | |
| ("Chicago", "Philadelphia"): "1200", | |
| ("Washington", "Philadelphia"): "200", | |
| } | |
| for (city1, city2), dist in list(distances.items()): # Distances for the opposite routes will also be the same | |
| distances[(city2, city1)] = dist | |
| def calculate_arrival_time(departure_time, distance_km): # Function to calculate arrival time given departure time and distances between stations | |
| hours, minutes = map(int, departure_time.split(":")) | |
| departure_hours = hours + minutes / 60.0 #Converted into hours | |
| distance = float(distance_km) | |
| duration_hours = distance / 100.0 #Assumed the spped of train to be 100Kmph | |
| arrival_hours = departure_hours + duration_hours | |
| arrival_hours = arrival_hours % 24 | |
| arrival_hour = int(arrival_hours) | |
| arrival_minute = int((arrival_hours - arrival_hour) * 60) | |
| return f"{arrival_hour:02d}:{arrival_minute:02d}" | |
| routes = [(dep, arr) for dep in cities for arr in cities if dep != arr] # Generate all combinations = 20 routes | |
| combinations = list(product(routes, days, train_types, departure_times)) | |
| data = [] #Creating the dataset | |
| for (dep, arr), day, train_type, dep_time in combinations: | |
| distance = distances[(dep, arr)] | |
| arr_time = calculate_arrival_time(dep_time, distance) | |
| data.append({ | |
| "departure_station": dep, | |
| "arrival_station": arr, | |
| "departure_time": dep_time, | |
| "arrival_time": arr_time, | |
| "day_of_week": day, | |
| "train_type": train_type, | |
| "distance_km": distance | |
| }) | |
| df = pd.DataFrame(data) #Made a dataframe | |
| df.to_csv("train_dataset_named.csv", index=False) #Converted into a CSV File |