test.py 1.3 KB

1234567891011121314151617181920212223242526272829
  1. from database.dao.mysql_dao import MySqlDao
  2. from models.rank.data.config import ProductConfig, ImportanceFeaturesMap
  3. from models.rank.data.utils import sample_data_clear
  4. dao = MySqlDao()
  5. city_uuid = "00000000000000000000000011445301"
  6. order_data = dao.load_order_data(city_uuid)
  7. order_data["sale_qty"] = order_data["sale_qty"].fillna(0)
  8. print(order_data.columns.to_list())
  9. order_data = order_data.infer_objects(copy=False)
  10. # 将销售量进行分组求和
  11. order_data = order_data.groupby(["stat_month", "cust_code", "product_code"], as_index=False)["sale_qty"].sum()
  12. cust_data = dao.load_cust_data(city_uuid)
  13. cust_data = cust_data[["BB_RETAIL_CUSTOMER_CODE", "BB_RETAIL_CUSTOMER_NAME"]]
  14. product_data = dao.load_product_data(city_uuid)
  15. product_data = product_data[ProductConfig.FEATURE_COLUMNS]
  16. product_data = sample_data_clear(product_data, ProductConfig)
  17. sale_data = order_data.merge(cust_data, left_on='cust_code', right_on='BB_RETAIL_CUSTOMER_CODE', how="inner")
  18. sale_data = sale_data.merge(product_data, left_on='product_code', right_on='product_code', how="inner")
  19. sale_data = sale_data[["cust_code", "BB_RETAIL_CUSTOMER_NAME"] + ProductConfig.FEATURE_COLUMNS + ["sale_qty", "stat_month"]]
  20. sale_data = sale_data.rename(columns=ImportanceFeaturesMap.PRODUCT_FEATRUES_MAP)
  21. sale_data.to_csv("./data/sale_month.csv", index=False)