from database.dao.mysql_dao import MySqlDao from models.rank.data.config import ProductConfig, ImportanceFeaturesMap from models.rank.data.utils import sample_data_clear dao = MySqlDao() city_uuid = "00000000000000000000000011445301" order_data = dao.load_order_data(city_uuid) order_data["sale_qty"] = order_data["sale_qty"].fillna(0) print(order_data.columns.to_list()) order_data = order_data.infer_objects(copy=False) # 将销售量进行分组求和 order_data = order_data.groupby(["stat_month", "cust_code", "product_code"], as_index=False)["sale_qty"].sum() cust_data = dao.load_cust_data(city_uuid) cust_data = cust_data[["BB_RETAIL_CUSTOMER_CODE", "BB_RETAIL_CUSTOMER_NAME"]] product_data = dao.load_product_data(city_uuid) product_data = product_data[ProductConfig.FEATURE_COLUMNS] product_data = sample_data_clear(product_data, ProductConfig) sale_data = order_data.merge(cust_data, left_on='cust_code', right_on='BB_RETAIL_CUSTOMER_CODE', how="inner") sale_data = sale_data.merge(product_data, left_on='product_code', right_on='product_code', how="inner") sale_data = sale_data[["cust_code", "BB_RETAIL_CUSTOMER_NAME"] + ProductConfig.FEATURE_COLUMNS + ["sale_qty", "stat_month"]] sale_data = sale_data.rename(columns=ImportanceFeaturesMap.PRODUCT_FEATRUES_MAP) sale_data.to_csv("./data/sale_month.csv", index=False)