def fill_X_handcrafted_full_and_y_raw(
        dataset_full, h5_store_files, h5_keys, offset, osn_name, target_list,
        branching_feature_names_list_dict, usergraph_feature_names_list_dict,
        temporal_feature_names_list_dict, number_of_branching_features_dict,
        number_of_usergraph_features_dict, number_of_temporal_features_dict):
    for d, h5_key in enumerate(h5_keys):
        handcrafted_features_data_frame = h5load_from(h5_store_files[1],
                                                      h5_key)

        kth_row = get_kth_row(handcrafted_features_data_frame, -1,
                              branching_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_branching"][
            offset + d, :number_of_branching_features_dict[osn_name]] = kth_row

        kth_row = get_kth_row(handcrafted_features_data_frame, -1,
                              usergraph_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_usergraph"][
            offset + d, :number_of_usergraph_features_dict[osn_name]] = kth_row

        kth_row = get_kth_row(handcrafted_features_data_frame, -1,
                              temporal_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_temporal"][
            offset + d, :number_of_temporal_features_dict[osn_name]] = kth_row

        for target_name in target_list:
            dataset_full[osn_name]["y_raw"][target_name][
                offset + d] = get_target_value(handcrafted_features_data_frame,
                                               target_name)
def fill_X_handcrafted_full_and_y_raw(dataset_full,
                                      h5_store_files,
                                      h5_keys,
                                      offset,
                                      osn_name,
                                      target_list,
                                      branching_feature_names_list_dict,
                                      usergraph_feature_names_list_dict,
                                      temporal_feature_names_list_dict,
                                      number_of_branching_features_dict,
                                      number_of_usergraph_features_dict,
                                      number_of_temporal_features_dict):
    for d, h5_key in enumerate(h5_keys):
        handcrafted_features_data_frame = h5load_from(h5_store_files[1], h5_key)

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              -1,
                              branching_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_branching"][offset + d, :number_of_branching_features_dict[osn_name]] = kth_row

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              -1,
                              usergraph_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_usergraph"][offset + d, :number_of_usergraph_features_dict[osn_name]] = kth_row

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              -1,
                              temporal_feature_names_list_dict[osn_name])
        dataset_full[osn_name]["X_temporal"][offset + d, :number_of_temporal_features_dict[osn_name]] = kth_row

        for target_name in target_list:
            dataset_full[osn_name]["y_raw"][target_name][offset + d] = get_target_value(handcrafted_features_data_frame,
                                                                                        target_name)
def get_dataframe_row(data_frame, k, k_based_on_lifetime_old, feature_list):

    lifetime = k

    k_based_on_lifetime = get_k_based_on_lifetime(data_frame, lifetime, min_k=k_based_on_lifetime_old, max_k=-1)

    kth_row = get_kth_row(data_frame, k_based_on_lifetime, feature_list)
    return kth_row, k_based_on_lifetime
def get_dataframe_row(data_frame, k, k_based_on_lifetime_old, feature_list):

    lifetime = k

    k_based_on_lifetime = get_k_based_on_lifetime(
        data_frame, lifetime, min_k=k_based_on_lifetime_old, max_k=-1)

    kth_row = get_kth_row(data_frame, k_based_on_lifetime, feature_list)
    return kth_row, k_based_on_lifetime
def fill_X_handcrafted_k_actual(dataset_k, h5_store_files, h5_keys, offset, k,
                                X_k_min_dict, X_t_next_dict,
                                branching_feature_names_list,
                                usergraph_feature_names_list,
                                temporal_feature_names_list, osn_name):
    for d, h5_key in enumerate(h5_keys):
        if X_k_min_dict[osn_name][offset + d] == -1:
            dataset_k[osn_name]["X_branching"][offset + d, :] = np.nan
            dataset_k[osn_name]["X_usergraph"][offset + d, :] = np.nan
            dataset_k[osn_name]["X_temporal"][offset + d, :] = np.nan
            continue

        handcrafted_features_data_frame = h5load_from(h5_store_files[1],
                                                      h5_key)

        # min_index = 0
        # max_index = len(branching_feature_names_list)

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              X_k_min_dict[osn_name][offset + d],
                              branching_feature_names_list)

        dataset_k[osn_name]["X_branching"][offset + d, :] = kth_row

        # min_index = len(branching_feature_names_list)
        # max_index = len(branching_feature_names_list) + len(usergraph_feature_names_list)

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              X_k_min_dict[osn_name][offset + d],
                              usergraph_feature_names_list)
        dataset_k[osn_name]["X_usergraph"][offset + d, :] = kth_row

        # min_index = len(branching_feature_names_list) + len(usergraph_feature_names_list)
        # max_index = len(branching_feature_names_list) + len(usergraph_feature_names_list) + len(temporal_feature_names_list)

        kth_row = get_kth_row(handcrafted_features_data_frame,
                              X_k_min_dict[osn_name][offset + d],
                              temporal_feature_names_list)
        dataset_k[osn_name]["X_temporal"][offset + d, :] = kth_row