are_base_dict = {
        "working_rider_num": {
            "_10min_working_rider_num": "mean"
        },
        "notbusy_working_rider_num": {
            "_10min_notbusy_working_rider_num": "mean"
        },
        "not_fetched_order_num": {
            "_10min_not_fetched_order_num": "mean"
        },
        "deliverying_order_num": {
            "_10min_deliverying_order_num": "mean"
        },
    }

    area_realtime_10min = nm.ka_add_groupby_features_1_vs_n(
        area_realtime, ["day", "hour", "minute", "area_id"], are_base_dict)
    weather_realtime_10min = nm.ka_add_groupby_features_1_vs_n(
        weather_realtime, ["day", "hour", "15min", "area_id"], wea_base_dict)
    ori = waybill_info.merge(area_realtime_10min, on=["day", "hour", "minute", "area_id"], how='left') \
        .merge(weather_realtime_10min, on=["day", "hour", "15min", "area_id"], how='left')
    ori.fillna("ffill")

    ori.loc[:, "area_busy_coef"] = ori["_10min_not_fetched_order_num"] / ori[
        "_10min_notbusy_working_rider_num"]
    ori.loc[:, "bill_number_per_rider"] = ori[
        "_10min_deliverying_order_num"] / ori["_10min_working_rider_num"]

    ori.loc[:,
            "avg_speed"] = ori["delivery_distance"] / ori["delivery_duration"]
    ori.loc[:, 'direction'] = bearing_array(ori['poi_lat'].values,
                                            ori['poi_lng'].values,
示例#2
0
    args = init_arguments()
    waybill_info, area_realtime, weather_realtime, waybill_info_test_a, waybill_info_test_b, area_realtime_test, weather_realtime_test = load_data(
            args.input_path)
    wea_base_dict = {
        "temperature": {"_10min_temperature": "mean"},
        "wind": {"_10min_wind": "mean"},
        "rain": {"_10min_rain": "mean"},
    }
    are_base_dict = {
        "working_rider_num": {"_10min_working_rider_num": "mean"},
        "notbusy_working_rider_num": {"_10min_notbusy_working_rider_num": "mean"},
        "not_fetched_order_num": {"_10min_not_fetched_order_num": "mean"},
        "deliverying_order_num": {"_10min_deliverying_order_num": "mean"},
    }

    area_realtime_10min = nm.ka_add_groupby_features_1_vs_n(area_realtime, ["day", "hour", "minute", "area_id"],
                                                            are_base_dict)
    weather_realtime_10min = nm.ka_add_groupby_features_1_vs_n(weather_realtime, ["day", "hour", "15min", "area_id"],
                                                               wea_base_dict)
    ori = waybill_info.merge(area_realtime_10min, on=["day", "hour", "minute", "area_id"], how='left') \
        .merge(weather_realtime_10min, on=["day", "hour", "15min", "area_id"], how='left')
    ori.fillna("ffill")

    ori.loc[:, "area_busy_coef"] = ori["_10min_not_fetched_order_num"] / ori["_10min_notbusy_working_rider_num"]
    ori.loc[:, "bill_number_per_rider"] = ori["_10min_deliverying_order_num"] / ori["_10min_working_rider_num"]

    ori.loc[:, "avg_speed"] = ori["delivery_distance"] / ori["delivery_duration"]
    ori.loc[:, 'direction'] = bearing_array(ori['poi_lat'].values, ori['poi_lng'].values,
                                            ori['customer_latitude'].values,
                                            ori['customer_longitude'].values)
    ori.loc[:, 'poi_lat_bin'] = np.round(ori['poi_lat'], 3)
    ori.loc[:, 'poi_lng_bin'] = np.round(ori['poi_lng'], 3)
示例#3
0
文件: tmp.py 项目: BigAN/solutions_bk
    args = init_arguments()
    waybill_info, area_realtime, weather_realtime, waybill_info_test_a, waybill_info_test_b, area_realtime_test, weather_realtime_test = load_data(
            args.input_path)
    wea_base_dict = {
        "temperature": {"_10min_temperature": "mean"},
        "wind": {"_10min_wind": "mean"},
        "rain": {"_10min_rain": "mean"},
    }
    are_base_dict = {
        "working_rider_num": {"_10min_working_rider_num": "mean"},
        "notbusy_working_rider_num": {"_10min_notbusy_working_rider_num": "mean"},
        "not_fetched_order_num": {"_10min_not_fetched_order_num": "mean"},
        "deliverying_order_num": {"_10min_deliverying_order_num": "mean"},
    }

    area_realtime_10min = nm.ka_add_groupby_features_1_vs_n(area_realtime, ["day","hour", "10min", "area_id"],
                                                            are_base_dict)
    weather_realtime_10min = nm.ka_add_groupby_features_1_vs_n(weather_realtime, ["day","hour", "10min", "area_id"],
                                                               wea_base_dict)

    ori = waybill_info.merge(area_realtime_10min, on=["day","hour", "10min", "area_id"], how='left') \
        .merge(weather_realtime_10min, on=["day","hour", "10min", "area_id"], how='left')

    print np.unique(ori.hour)

    pre = ori.loc[
        gene_mask(ori, 10) & (ori.day != 30) & (ori.day != 29) & (ori.day != 28) & (ori.day != 27) & (ori.day != 26) & (
            ori.day != 25) & (ori.day != 24)]

    tr = ori.loc[
        gene_mask(ori, 11) & (ori.day != 30) & (ori.day != 29) & (
            ori.day != 28) & (ori.day != 27) & (ori.day != 26) & (