示例#1
0
    def test_minutes_difference(self):
        dt1 = datetime(2012, 10, 12, tzinfo=tzutc())
        dt2 = datetime(2012, 10, 12, 1, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt2, dt1), 60)

        dt3 = datetime(2012, 10, 13, 0, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt3, dt1), 24 * 60)

        dt4 = datetime(2012, 10, 13, 0, 1, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt4, dt1), 24 * 60 + 1)
    def test_minutes_difference(self):
        dt1 = datetime(2012, 10, 12, tzinfo=tzutc())
        dt2 = datetime(2012, 10, 12, 1, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt2, dt1), 60)

        dt3 = datetime(2012, 10, 13, 0, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt3, dt1), 24*60)

        dt4 = datetime(2012, 10, 13, 0, 1, tzinfo=tzutc())
        self.assertEqual(utilities.minutes_difference(dt4, dt1), 24*60+1)
def convert_df_predictions_from_datetimes_to_minutes(df_predictions,
    midnight_time):
    """
    For each day we 
    """

    for i in df_predictions.index:
        df_predictions["actual_runway_arrival"][i] = tu.minutes_difference(
            df_predictions["actual_runway_arrival"][i], midnight_time)
        df_predictions["actual_gate_arrival"][i] = tu.minutes_difference(
            df_predictions["actual_gate_arrival"][i], midnight_time)

    return df_predictions
def write_flight_history_test_day_and_solution_test_flights_only(
        input_path, test_output_path, solution_path, cutoff_time):
    diverted_or_redirected_flight_ids = get_diverted_or_redirected_flights(
        input_path)

    codes_file = os.path.join(os.environ["DataPath"], "GEFlight", "Reference",
                              "usairporticaocodes.txt")
    us_icao_codes = get_us_airport_icao_codes(codes_file)
    midnight_time = datetime.datetime(cutoff_time.year,
                                      cutoff_time.month,
                                      cutoff_time.day,
                                      tzinfo=tz.tzutc())

    df = get_df_flight_history_from_train_format(input_path)

    original_length = len(df)

    df = df.select(lambda i: flight_history_row_in_test_set(
        df.irow(i), cutoff_time, us_icao_codes,
        diverted_or_redirected_flight_ids))

    df_test = df[[
        "flight_history_id", "departure_airport_code", "arrival_airport_code",
        "published_departure", "published_arrival", "scheduled_gate_departure",
        "scheduled_gate_arrival", "scheduled_runway_departure",
        "scheduled_runway_arrival"
    ]]

    df_test.to_csv(test_output_path, index=False)

    df_solution = df[[
        "flight_history_id", "actual_runway_arrival", "actual_gate_arrival"
    ]]

    for i in df_solution.index:
        df_solution["actual_runway_arrival"][i] = utilities.minutes_difference(
            df_solution["actual_runway_arrival"][i], midnight_time)
        df_solution["actual_gate_arrival"][i] = utilities.minutes_difference(
            df_solution["actual_gate_arrival"][i], midnight_time)

    df_solution.to_csv(solution_path, index=False)

    print("%s, %s: %d rows kept out of %d original lines" %
          (utilities.get_day_str(cutoff_time), "test_flights.csv",
           len(df_test), original_length))

    return df_test, df_solution
def write_flight_history_test_day_and_solution_test_flights_only(input_path, test_output_path, solution_path, cutoff_time):
    diverted_or_redirected_flight_ids = get_diverted_or_redirected_flights(input_path)

    codes_file = os.path.join(os.environ["DataPath"], "GEFlight", "Reference", "usairporticaocodes.txt")
    us_icao_codes = get_us_airport_icao_codes(codes_file)
    midnight_time = datetime.datetime(cutoff_time.year, cutoff_time.month, cutoff_time.day, tzinfo=tz.tzutc())

    df = get_df_flight_history_from_train_format(input_path)
    
    original_length = len(df)

    df = df.select(lambda i: flight_history_row_in_test_set(df.irow(i), cutoff_time, us_icao_codes, diverted_or_redirected_flight_ids))

    df_test = df[["flight_history_id"
                , "departure_airport_code"
                , "arrival_airport_code"
                , "published_departure"
                , "published_arrival"
                , "scheduled_gate_departure"
                , "scheduled_gate_arrival"
                , "scheduled_runway_departure"
                , "scheduled_runway_arrival"]]        

    df_test.to_csv(test_output_path, index=False)
    
    df_solution = df[["flight_history_id"
                    , "actual_runway_arrival"
                    , "actual_gate_arrival"]]

    for i in df_solution.index:
        df_solution["actual_runway_arrival"][i] = utilities.minutes_difference(df_solution["actual_runway_arrival"][i], midnight_time)
        df_solution["actual_gate_arrival"][i] = utilities.minutes_difference(df_solution["actual_gate_arrival"][i], midnight_time)

    df_solution.to_csv(solution_path, index=False)

    print("%s, %s: %d rows kept out of %d original lines" % (utilities.get_day_str(cutoff_time), "test_flights.csv", len(df_test), original_length))

    return df_test, df_solution