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,
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)
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) & (