Пример #1
0
def q2(dic):
    print("Question 2:")
    dic_winter, dic_not_winter = data.filter_by_feature(dic, "season", {2})
    dic_is_holiday, dic_not_holiday = data.filter_by_feature(dic_winter, "is_holiday", {0})
    print("is", dic_not_holiday)
    methods = [statistics.mean, statistics.median]
    print("If t1<=13.0, then:")
    statistics.population_statistics("Winter holiday records:", dic_is_holiday, "t1", "cnt", 13.0, False, methods)
    statistics.population_statistics("Winter weekday records:", dic_not_holiday, "t1", "cnt", 13.0, False, methods)
Пример #2
0
def main(argv):
    """
    Main function of the program
    :param argv: argv[0] = /home/student/your_path/main.py, argv[1] = /home/student/your_path/ london.csv,
    argv[2] = "hum, t1, cnt, season, is_holiday"
    :return: none
    """
    # question 1
    data_dict = data.load_data(argv[1], argv[2])
    statistic_functions = [
        statistics.sum_f, statistics.mean, statistics.median
    ]
    print("Question 1:")
    feature_list = ["hum", "t1", "cnt"]
    data_name, data_not_name = data.filter_by_value(data_dict, 'season', {1})
    data.print_details(data_name, feature_list, statistic_functions, 'Summer')
    data_name, data_not_name = data.filter_by_value(data_dict, 'is_holiday',
                                                    {1})
    data.print_details(data_name, feature_list, statistic_functions, 'Holiday')
    data.print_details(data_dict, feature_list, statistic_functions, 'All')
    print()  # before question 2

    # question 2
    print("Question 2:")
    is_above = 0
    title_list = ["Winter holiday records:", "Winter weekday records:"]
    print("If t1<=13.0, then:")
    data_winter, data_not_winter = data.filter_by_value(
        data_dict, 'season', {3})
    data_name, data_not_name = data.filter_by_value(data_winter, 'is_holiday',
                                                    {1})
    dict_list = [data_name, data_not_name]
    for m, k in enumerate(title_list):
        statistics.population_statistics(k, dict_list[m], 't1', 'cnt', 13.0,
                                         is_above, statistic_functions)
    is_above = 1
    print("If t1>13.0, then:")
    for n, l in enumerate(title_list):
        statistics.population_statistics(l, dict_list[n], 't1', 'cnt', 13.0,
                                         is_above, statistic_functions)
Пример #3
0
def Q2(data):
    """
    this func prints the requirements for Q2
    :param data: dict
    :return: none
    """
    winter_time = (dt.filter_by_feature(data, "season", {3}))[0]
    yes_holiday, no_holiday = dt.filter_by_feature(winter_time, "is_holiday",
                                                   {1})

    print_statements = ["If t1<=13.0, then:", "If t1>13.0, then:"]

    print("\nQuestion 2:")

    for index, elem in enumerate(print_statements):
        print(elem)
        for key, dict in ({
                "Winter holiday records": yes_holiday,
                "Winter weekday records": no_holiday
        }).items():
            stats.population_statistics(key, dict, "t1", "cnt", 13.0, index,
                                        stats.statistic_functions)
Пример #4
0
def main(argv):
    """
    produce answers to Q1, Q2 by user's input
    :argument: path to scv file
    :parameter: features in csv file for assignment
    :return: none
    """
    # Q1
    print('Question 1:')
    features = argv[2].split(
        ", ")  # create a list with continuous variables only
    features.remove("season"), features.remove("is_holiday")
    stats = [statistics.sum, statistics.mean,
             statistics.med]  # create a list with statistic functions
    data_all = data.load_data(argv[1], argv[2])
    data_summer, data_not_summer = data.filter_by_features(
        data_all, "season", {1})
    print("Summer:")
    data.print_details(data_summer, features, stats)
    data_holiday, data_not_holiday = data.filter_by_features(
        data_all, "is_holiday", {1})
    print("Holiday:")
    data.print_details(data_holiday, features, stats)
    print("All:")
    data.print_details(data_all, features, stats)
    # Q2
    lim_temp = 13
    print("\nQuestion 2:")
    data_winter, data_not_winter = data.filter_by_features(
        data_all, 'season', {3})
    data_winter_holiday, data_winter_weekday = data.filter_by_features(
        data_winter, 'is_holiday', {1})
    features.remove("hum"), features.remove("t1")
    stats.remove(statistics.sum)
    print("If t1<=13.0, then:")  # prints info 13 or under degrees
    statistics.population_statistics("winter holiday records",
                                     data_winter_holiday, "t1", "cnt",
                                     lim_temp, 0, stats)
    statistics.population_statistics("winter weekday records",
                                     data_winter_weekday, "t1", "cnt",
                                     lim_temp, 0, stats)
    print("If t1>13.0, then:")  # prints info above 13 degrees
    statistics.population_statistics("winter holiday records",
                                     data_winter_holiday, "t1", "cnt",
                                     lim_temp, 1, stats)
    statistics.population_statistics("winter weekday records",
                                     data_winter_weekday, "t1", "cnt",
                                     lim_temp, 1, stats)
Пример #5
0
def main(argv):
    """Main interface for running the program"""

    # "london_sample.csv", ['season', 't1', 'is_holiday', 'cnt', 'hum']
    #  Q1
    print(argv)
    d = data.load_data(argv[1], argv[2].split(', '))
    print("Question 1:")
    print("Summer:")
    d1, d2 = data.filter_by_feature(d, 'season', [1])
    data.print_details(d1, ['hum', 't1', 'cnt'],
                       [statistics.sum, statistics.mean, statistics.median])
    print("Holiday:")
    d1, d2 = data.filter_by_feature(d, 'is_holiday', [1])
    data.print_details(d1, ['hum', 't1', 'cnt'],
                       [statistics.sum, statistics.mean, statistics.median])
    print("All:")
    data.print_details(d, ['hum', 't1', 'cnt'],
                       [statistics.sum, statistics.mean, statistics.median])

    #  Q2
    print("")
    print("Question 2:")
    print("If t1<=13.0, then:")
    print("Winter holiday records:")
    data_main = data.load_data(argv[1], argv[2].split(', '))
    data_main_1, data_main_2 = data.filter_by_feature(data_main, 'season', [3])
    winter_holiday, is_not_holiday = data.filter_by_feature(
        data_main_1, 'is_holiday', [1])
    statistics.population_statistics('cnt', winter_holiday, 't1', 'cnt', 13.0,
                                     False,
                                     [statistics.mean, statistics.median])
    print("Winter weekday records:")
    statistics.population_statistics('cnt', is_not_holiday, 't1', 'cnt', 13.0,
                                     False,
                                     [statistics.mean, statistics.median])
    print("If t1>13.0, then:")
    print("Winter holiday records:")
    statistics.population_statistics('cnt', winter_holiday, 't1', 'cnt', 13.0,
                                     True,
                                     [statistics.mean, statistics.median])
    print("Winter weekday records:")
    statistics.population_statistics('cnt', is_not_holiday, 't1', 'cnt', 13.0,
                                     True,
                                     [statistics.mean, statistics.median])
Пример #6
0
def main(argv):
    print("Question 1:")
    csv_path = argv[1]
    features = argv[2]
    features = list(features.split(", "))
    data = data_lib.load_data(csv_path, features)
    statistic_functions = [statistics.sum, statistics.mean, statistics.median]
    data1, data2 = data_lib.filter_by_feature(data, "season", [1])
    print("Summer:")
    data_lib.print_details(data1, ["hum", "t1", "cnt"], statistic_functions)

    data1, data2 = data_lib.filter_by_feature(data, "is_holiday", [1])
    print("Holiday:")
    data_lib.print_details(data1, ["hum", "t1", "cnt"], statistic_functions)

    print("All:")
    data_lib.print_details(data, ["hum", "t1", "cnt"], statistic_functions)

    print("Question 2:")
    t_threshold = 13
    statistic_func = [statistics.mean, statistics.median]
    print("If t1<=13.0, then:")

    data1, data2 = data_lib.filter_by_feature(data, "season", [3])
    data1, data2 = data_lib.filter_by_feature(data1, "is_holiday", [1])
    print("Winter holiday records:")
    statistics.population_statistics("Winter holiday records", data1, "t1",
                                     ["cnt"], t_threshold, False,
                                     statistic_func)
    print("Winter weekday records:")
    statistics.population_statistics("Winter weekday records", data2, "t1",
                                     ["cnt"], t_threshold, False,
                                     statistic_func)
    print("If t1>13.0, then:")
    print("Winter holiday records:")
    statistics.population_statistics("Winter holiday records", data1, "t1",
                                     ["cnt"], t_threshold, True,
                                     statistic_func)
    print("Winter weekday records:")
    statistics.population_statistics("Winter weekday records", data2, "t1",
                                     ["cnt"], t_threshold, True,
                                     statistic_func)
Пример #7
0
def main(argv):
    """ Calculates and prints statistic values for features of records from the data
        collected in london.csv file.

        :parameter:
        argv -- list of arguments supplied (file to run, csv file address, features to get from the csv)
        :returns: None
    """
    # Question 1
    # Saves the features given in a list
    features = (argv[2].split(sep=", "))
    the_data = data.load_data(argv[1], features)
    statistic_functions = [sum, mean, median]
    # Saves the relevant records
    summer_data, not_summer = data.filter_by_feature(the_data, "season", [1])
    holiday_data, not_holiday = data.filter_by_feature(the_data, "is_holiday",
                                                       [1])
    print("Question 1:")
    print("Summer:")
    data.print_details(summer_data, ["hum", "t1", "cnt"], statistic_functions)
    print("Holiday:")
    data.print_details(holiday_data, ["hum", "t1", "cnt"], statistic_functions)
    print("All:")
    data.print_details(the_data, ["hum", "t1", "cnt"], statistic_functions)

    # Question 2
    print("\nQuestion 2")
    print("If t1<=13.0, then:")
    # Saves the relevant records
    winter_data, not_winter = data.filter_by_feature(the_data, "season", [3])
    w_h_data, not_w_h_data = data.filter_by_feature(winter_data, "is_holiday",
                                                    [1])
    population_statistics("Winter holiday records:", w_h_data, "t1", ["cnt"],
                          THRESHOLD, 0, statistic_functions[1:])
    population_statistics("Winter weekday records:", not_w_h_data, "t1",
                          ["cnt"], THRESHOLD, 0, statistic_functions[1:])
    print("If t1>13.0, then:")
    population_statistics("Winter holiday records:", w_h_data, "t1", ["cnt"],
                          THRESHOLD, 1, statistic_functions[1:])
    population_statistics("Winter weekday records:", not_w_h_data, "t1",
                          ["cnt"], THRESHOLD, 1, statistic_functions[1:])
Пример #8
0
def main(argv):

    data = dt.load_data(argv[1], argv[2])
    dc = {
        "spring": ("season", [0]),
        "summer": ("season", [1]),
        "autumn": ("season", [2]),
        "winter": ("season", [3]),
        "holiday": ("is_holiday", [1]),
        "weekend": ("is_weekend", [1]),
    }

    print("Question 1:")

    for mode in ["Summer", "Holiday", "All"]:
        print(f"{mode}:")
        if mode == "All":
            dt.print_details(data, ["hum", "t1", "cnt"],
                             [st.sum, st.mean, st.median])
        else:
            val = dc[mode.lower()]
            dt.print_details(
                dt.filter_by_feature(data, val[0], val[1])[0],
                ["hum", "t1", "cnt"],
                [st.sum, st.mean, st.median],
            )

    print("\nQuestion 2:")

    threshold = 13.0

    winter_data, _ = dt.filter_by_feature(data, dc["winter"][0],
                                          dc["winter"][1])
    holiday_data, weekday_data = dt.filter_by_feature(winter_data,
                                                      dc["holiday"][0],
                                                      dc["holiday"][1])

    print(f"If t1<={threshold}, then:")
    print("Winter holiday records:")
    st.population_statistics(
        "Winter holiday records",
        holiday_data,
        "t1",
        "cnt",
        threshold,
        False,
        [st.mean, st.median],
    )
    print("Winter weekday records:")
    st.population_statistics(
        "Winter weekday records",
        weekday_data,
        "t1",
        "cnt",
        threshold,
        False,
        [st.mean, st.median],
    )

    print(f"If t1>{threshold}, then:")
    print("Winter holiday records:")
    st.population_statistics(
        "Winter holiday records",
        holiday_data,
        "t1",
        "cnt",
        threshold,
        True,
        [st.mean, st.median],
    )
    print("Winter weekday records:")
    st.population_statistics(
        "Winter weekday records",
        weekday_data,
        "t1",
        "cnt",
        threshold,
        True,
        [st.mean, st.median],
    )