config.py 80 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847
  1. class CustConfig:
  2. FEATURE_COLUMNS = [
  3. "BB_RETAIL_CUSTOMER_CODE", # 零售户代码
  4. "BB_RTL_CUST_MARKET_TYPE_NAME", # 零售户市场类型名称
  5. "BB_RTL_CUST_BUSINESS_TYPE_NAME", # 零售客户业态名称
  6. "BB_RTL_CUST_CHAIN_FLAG", # 零售户连锁标识
  7. "MD04_MG_RTL_CUST_CREDITCLASS_NAME", # 零售户信用等级名称
  8. "MD04_DIR_SAL_STORE_FLAG", # 直营店标识
  9. "BB_CUSTOMER_MANAGER_SCOPE_NAME", # 零售户经营范围名称
  10. "BB_RTL_CUST_TERMINAL_LEVEL_NAME", # 零售户终端层级名称
  11. "OPERATOR_EDU", # 零售客户经营者文化程度
  12. "STORE_AREA", # 店铺经营面积
  13. "OPERATOR_AGE", # 经营者年龄
  14. "PRODUCT_INSALE_QTY", # 在销品规数
  15. ]
  16. ONEHOT_CAT = {
  17. "BB_RTL_CUST_MARKET_TYPE_NAME": ["城网", "农网"],
  18. "BB_RTL_CUST_BUSINESS_TYPE_NAME": ["便利店", "超市", "烟草专业店", "娱乐服务类", "其他"],
  19. "BB_RTL_CUST_CHAIN_FLAG": ["是", "否"],
  20. "MD04_MG_RTL_CUST_CREDITCLASS_NAME": ["AAA", "AA", "A", "B", "C", "D"],
  21. "MD04_DIR_SAL_STORE_FLAG": ["是", "否"],
  22. "BB_CUSTOMER_MANAGER_SCOPE_NAME": ["是", "否"],
  23. "BB_RTL_CUST_TERMINAL_LEVEL_NAME": ["普通终端", "一般现代终端", "合作终端", "加盟终端", "直营终端"],
  24. "OPERATOR_EDU": [1, 2, 3, 4, 5, 6, 7, "无数据"],
  25. "STORE_AREA": ["0-20", "20-30", "30-40", "40-60", "60-80", "80-100", "100-120", "120以上"],
  26. "OPERATOR_AGE": ["18-30", "31-40", "41-50", "51-65", "66-80", "80以上"],
  27. "PRODUCT_INSALE_QTY": ["0-10", "11-20", "21-30", "31-40", "41-50", "51-60",
  28. "61-70", "71-80", "81-90", "91-100", "101-110", "111-120",
  29. "121-130", "131-140", "141-150", "151-160", "161-170", "171-180",
  30. "181-190", "191-200", "201-210", "211-220", "221-230", "231-240",
  31. "241-250", "251-260", "261-270", "271-280", "281-290", "291-350"],
  32. }
  33. CLEANING_RULES = {
  34. "BB_RTL_CUST_MARKET_TYPE_NAME": {"method": "fillna", "opt": "fill", "value": "城网", "type": "str"},
  35. "BB_RTL_CUST_BUSINESS_TYPE_NAME": {"method": "fillna", "opt": "fill", "value": "其他", "type": "str"},
  36. "BB_RTL_CUST_CHAIN_FLAG": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  37. "MD04_MG_RTL_CUST_CREDITCLASS_NAME": {"method": "fillna", "opt": "fill", "value": "B", "type": "str"},
  38. "MD04_DIR_SAL_STORE_FLAG": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  39. "BB_CUSTOMER_MANAGER_SCOPE_NAME": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  40. "BB_RTL_CUST_TERMINAL_LEVEL_NAME": {"method": "fillna", "opt": "fill", "value": "普通终端", "type": "str"},
  41. "OPERATOR_EDU": {"method": "fillna", "opt": "fill", "value": "无数据", "type": "str"},
  42. "STORE_AREA": {"method": "fillna", "opt": "fill", "value": "0-20", "type": "str"},
  43. "OPERATOR_AGE": {"method": "fillna", "opt": "fill", "value": "31-40", "type": "str"},
  44. "PRODUCT_INSALE_QTY": {"method": "fillna", "opt": "fill", "value": "0-10", "type": "str"},
  45. }
  46. class ProductConfig:
  47. FEATURE_COLUMNS = [
  48. "product_code", # 商品编码
  49. "factory_name", # 产地(工业公司名称)
  50. "brand_name", # 品牌名称
  51. "is_low_tar", # 低焦油卷烟
  52. "is_medium", # 中支烟
  53. "is_tiny", # 细支烟
  54. "is_coarse", # 粗支烟(同时非中非细)
  55. "is_exploding_beads", # 爆珠烟
  56. "is_abnormity", # 异形包装
  57. "is_cig", # 雪茄烟
  58. "is_chuangxin", # 创新品类
  59. "direct_retail_price", # 卷烟建议零售价
  60. "tbc_total_length", # 烟支总长度
  61. "product_style", # 包装类型
  62. ]
  63. ONEHOT_CAT = {
  64. "factory_name": ["安徽中烟", "澳门云福卷烟厂", "北欧烟草集团", "博格集团", "重庆中烟", "川渝中烟", "菲利普莫里斯亚洲",
  65. "福建中烟", "甘肃工业", "广东中烟", "广西中烟", "贵州中烟", "海南红塔", "河北中烟", "河南中烟",
  66. "黑龙江工业", "红塔辽宁烟草", "湖北中烟", "湖南中烟", "吉林工业", "家源开发股份有限公司",
  67. "嘉莱赫国际有限公司", "江苏中烟", "江西中烟", "凯德控股有限公司", "力量雪茄烟草有限公司",
  68. "南洋兄弟烟草股份", "内蒙古昆明卷烟", "日本烟草(香港)有限公司", "三宝麟国际集团", "厦门调拨站",
  69. "山东中烟", "山西昆明烟草", "陕西中烟", "上海烟草(集团)公司", "上海烟草公司", "深圳工业", "四川中烟",
  70. "特富意烟草(国际)", "雪茄客烟草国际贸易有限公司", "耀莱雪茄控股有限公司", "引领国际有限公司",
  71. "英飞烽香港有限公司", "英美烟草中国有限公司", "云南中烟", "浙江中烟", "中茄国际贸易有限公司",
  72. "中烟英美烟草国际有限公司", "株式会社 KT&G", "无"],
  73. "brand_name": ["万宝路", "555", "骆驼(国外)", "大华", "娇子", "大青山", "龙凤呈祥", "黄鹤楼", "真龙", "七匹狼",
  74. "芙蓉王", "双喜(广)", "贵烟", "钓鱼台", "红双喜(南洋)", "云烟", "蒙特", "富恩特", "拉·加莱拉", "苏烟",
  75. "丹纳曼", "黄山", "南京", "利群", "金桥", "泰山", "好日子", "石林", "美登", "红河", "嘉辉", "七星",
  76. "都彭", "天下秀", "长城", "高希霸", "钻石", "金圣", "王冠雪茄", "黄金叶", "中南海", "长白山", "红旗渠",
  77. "建牌", "大卫杜夫", "罗密欧", "茂大", "红金龙", "天子", "熊猫", "双喜(深)", "大前门", "兰州",
  78. "红双喜(沪)", "雄狮", "广州", "红玫王", "黄果树", "红塔山", "福", "小熊猫", "爱喜", "蒙特利", "玉溪",
  79. "都宝", "麦克纽杜", "卡里罗", "中华", "牡丹(沪)", "阿里山", "顺百利", "白沙", "羊城", "白云",
  80. "特美思", "国宾", "帕特加", "比德奥", "冬虫夏草", "威龙(湛江)", "香格里拉", "红梅", "延安",
  81. "特富意", "石狮", "金香港", "好猫", "登喜路", "乐迪", "林海灵芝", "椰树", "北京", "大红鹰", "大丰收",
  82. "红双喜(武汉)", "五叶神", "狮", "优民", "将军", "遵义", "恒大", "飞马", "红三环", "芙蓉", "工字",
  83. "古田", "狮牌", "君力", "哈尔滨", "梦都", "香梅(阜阳)", "哈德门", "梅州", "红山茶", "猴王", "沙龙",
  84. "潘趣", "狮子牌", "上海", "红玫", "醒宝", "广州湾", "百乐门", "关塔那摩", "威斯", "五一", "寿百年",
  85. "人民大会堂", "土楼", "三沙", "西湖", "光明", "阿诗玛", "宝亨", "恭贺新禧", "长寿", "茶花", "迎客松",
  86. "龙烟", "金澳门", "宝岛", "多米尼加之花", "国喜", "金驼", "君特欧", "上游", "幸福", "春城", "吉庆",
  87. "黄山松", "黄金龙", "紫气东来", "彼亚赛", "银辉", "潮牌", "庐山", "三峡", "壹支笔", "双叶", "无"],
  88. "is_low_tar": ["是", "否"],
  89. "is_medium": ["是", "否"],
  90. "is_tiny": ["是", "否"],
  91. "is_coarse": ["是", "否"],
  92. "is_exploding_beads": ["是", "否"],
  93. "is_abnormity": ["是", "否"],
  94. "is_cig": ["是", "否"],
  95. "is_chuangxin": ["是", "否"],
  96. "direct_retail_price": ["0-5", "5-10", "10-15", "15-20", "20-26", "26-30", "30-40",
  97. "40-50", "50-65", "65-80", "80-100", "100以上", "5-9.9", "10-19.9",
  98. "20-29.9", "30-39.9", "40-49.9", "50-59.9", "60-69.9", "70-79.9", "80-89.9",
  99. "90-99.9", "100-109.9", "110-119.9", "120-129.9", "130-139.9", "140-149.9",
  100. "150-199.9", "200-249.9", "250-499.9", "500以上"],
  101. "tbc_total_length": ["小于79", "80-88", "89-100", "大于120"],
  102. "product_style": ["条盒硬盒", "条包硬盒", "条盒软盒", "条包软盒", "铁盒", "其他"],
  103. }
  104. CLEANING_RULES = {
  105. "factory_name": {"method": "fillna", "opt": "fill", "value": "无", "type": "str"},
  106. "brand_name": {"method": "fillna", "opt": "fill", "value": "无", "type": "str"},
  107. "is_low_tar": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  108. "is_medium": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  109. "is_tiny": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  110. "is_coarse": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  111. "is_exploding_beads": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  112. "is_abnormity": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  113. "is_cig": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  114. "is_chuangxin": {"method": "fillna", "opt": "fill", "value": "否", "type": "str"},
  115. "direct_retail_price": {"method": "fillna", "opt": "fill", "value": "0-5", "type": "str"},
  116. "tbc_total_length": {"method": "fillna", "opt": "fill", "value": "小于79", "type": "str"},
  117. "product_style": {"method": "fillna", "opt": "fill", "value": "其他", "type": "str"},
  118. }
  119. class OrderConfig:
  120. FEATURE_COLUMNS = [
  121. "cust_code", # 零售户编码
  122. "product_code", # 品牌规格编码
  123. "sale_qty", # 销量包
  124. # "sale_qty_l", # 销量上期
  125. # "sale_qty_hb", # 销量环比
  126. # "sale_amt", # 销售额包
  127. ]
  128. class ShopConfig:
  129. FEATURE_COLUMNS = [
  130. "cust_code", # 客户编码
  131. "r_home_num", # 常驻人口_居住人数
  132. "r_work_num", # 常驻人口_工作人数
  133. "r_resident_num", # 常驻人口_工作或居住人数
  134. "r_urban_cons_middle", # 常驻人口_城市消费水平_中
  135. "r_urban_cons_low", # 常驻人口_城市消费水平_低
  136. "r_urban_cons_lower", # 常驻人口_城市消费水平_次低
  137. "r_urban_cons_secondhigh", # 常驻人口_城市消费水平_次高
  138. "r_urban_cons_high", # 常驻人口_城市消费水平_高
  139. "r_edu_junior_middle", # 常驻人口_学历_初中
  140. "r_edu_doctor", # 常驻人口_学历_博士
  141. "r_edu_specialty", # 常驻人口_学历_大专
  142. "r_edu_primary", # 常驻人口_学历_小学
  143. "r_edu_college", # 常驻人口_学历_本科
  144. "r_edu_postgraduate", # 常驻人口_学历_硕士
  145. "r_edu_senior_middle", # 常驻人口_学历_高中
  146. "r_house_price79999", # 常驻人口_居住社区房价_60000_79999
  147. "r_house_price59999", # 常驻人口_居住社区房价_40000_59999
  148. "r_house_price39999", # 常驻人口_居住社区房价_20000_39999
  149. "r_house_price19999", # 常驻人口_居住社区房价_10000_19999
  150. "r_house_price9999", # 常驻人口_居住社区房价_8000_9999
  151. "r_house_price7999", # 常驻人口_居住社区房价_5000_7999
  152. "r_house_price4999", # 常驻人口_居住社区房价_2000_4999
  153. "r_age_17", # 常驻人口_年龄_0_17
  154. "r_age_24", # 常驻人口_年龄_18_24
  155. "r_age_30", # 常驻人口_年龄_25_30
  156. "r_age_35", # 常驻人口_年龄_31_35
  157. "r_age_40", # 常驻人口_年龄_36_40
  158. "r_age_45", # 常驻人口_年龄_41_45
  159. "r_age_60", # 常驻人口_年龄_46_60
  160. "r_age_over_60", # 常驻人口_年龄_61以上
  161. "r_sex_woman", # 常驻人口_性别_女
  162. "r_sex_man", # 常驻人口_性别_男
  163. "r_catering_50", # 常驻人口_餐饮消费水平_50
  164. "r_catering_100", # 常驻人口_餐饮消费水平_100
  165. "r_catering_150", # 常驻人口_餐饮消费水平_150
  166. "r_catering_200", # 常驻人口_餐饮消费水平_200
  167. "r_catering_500", # 常驻人口_餐饮消费水平_500
  168. "r_catering_over_500", # 常驻人口_餐饮消费水平_500以上
  169. "r_catering_times_2", # 常驻人口_餐饮消费频次_1_2
  170. "r_catering_times_4", # 常驻人口_餐饮消费频次_2_4
  171. "r_catering_times_6", # 常驻人口_餐饮消费频次_4_6
  172. "r_catering_times_8", # 常驻人口_餐饮消费频次_6_8
  173. "r_catering_times_10", # 常驻人口_餐饮消费频次_8_10
  174. "r_catering_times_11", # 常驻人口_餐饮消费频次_11以上
  175. "r_native_beijing", # 常驻人口_家乡地_北京市
  176. "r_native_tianjing", # 常驻人口_家乡地_天津市
  177. "r_native_hebei", # 常驻人口_家乡地_河北省
  178. "r_native_shanxi", # 常驻人口_家乡地_山西省
  179. "r_native_neimeng", # 常驻人口_家乡地_内蒙古
  180. "r_native_liaoning", # 常驻人口_家乡地_辽宁省
  181. "r_native_jilin", # 常驻人口_家乡地_吉林省
  182. "r_native_heilongjiang", # 常驻人口_家乡地_黑龙江省
  183. "r_native_shanghai", # 常驻人口_家乡地_上海市
  184. "r_native_jiangsu", # 常驻人口_家乡地_江苏省
  185. "r_native_zhejiang", # 常驻人口_家乡地_浙江省
  186. "r_native_anhui", # 常驻人口_家乡地_安徽省
  187. "r_native_fujian", # 常驻人口_家乡地_福建省
  188. "r_native_jiangix", # 常驻人口_家乡地_江西省
  189. "r_native_shandong", # 常驻人口_家乡地_山东省
  190. "r_native_henan", # 常驻人口_家乡地_河南省
  191. "r_native_hubei", # 常驻人口_家乡地_湖北省
  192. "r_native_hunan", # 常驻人口_家乡地_湖南省
  193. "r_native_guangdong", # 常驻人口_家乡地_广东省
  194. "r_native_hainan", # 常驻人口_家乡地_海南省
  195. "r_native_sichuan", # 常驻人口_家乡地_四川省
  196. "r_native_guizhou", # 常驻人口_家乡地_贵州省
  197. "r_native_yunnan", # 常驻人口_家乡地_云南省
  198. "r_native_shan", # 常驻人口_家乡地_陕西省
  199. "r_native_gansu", # 常驻人口_家乡地_甘肃省
  200. "r_native_qinghai", # 常驻人口_家乡地_青海省
  201. "r_native_guangxi", # 常驻人口_家乡地_广西壮族自治区
  202. "r_native_ningxia", # 常驻人口_家乡地_宁夏回族自治区
  203. "r_native_xinjiang", # 常驻人口_家乡地_新疆维吾尔自治区
  204. "r_native_xizang", # 常驻人口_家乡地_西藏自治区
  205. "r_native_chongqing", # 常驻人口_家乡地_重庆市
  206. "r_native_hongkong", # 常驻人口_家乡地_香港
  207. "r_native_macao", # 常驻人口_家乡地_澳门
  208. "r_native_taiwan", # 常驻人口_家乡地_台湾
  209. "r_native_other", # 常驻人口_家乡地_其它
  210. "f_flow_num", # 流动人口_工作日_日均流动人口数量
  211. "f_holiday_flow_num", # 流动人口_节假日_日均流动人口数量
  212. "f_workday_flow_num", # 流动人口_日均流动人口数量
  213. "f_flowurban_cons_middle", # 日均流动_城市消费水平_中
  214. "f_flowurban_cons_low", # 日均流动_城市消费水平_低
  215. "f_flowurban_cons_lower", # 日均流动_城市消费水平_次低
  216. "f_flowurban_cons_second_high", # 日均流动_城市消费水平_次高
  217. "f_flowurban_cons_high", # 日均流动_城市消费水平_高
  218. "f_flowedu_junior_middle", # 日均流动_学历_初中
  219. "f_flowedu_doctor", # 日均流动_学历_博士
  220. "f_flowedu_specialty", # 日均流动_学历_大专
  221. "f_flowedu_primary", # 日均流动_学历_小学
  222. "f_flowedu_college", # 日均流动_学历_本科
  223. "f_flowedu_postgraduate", # 日均流动_学历_硕士
  224. "f_flowedu_senior_middle", # 日均流动_学历_高中
  225. "f_flowhouse_middle", # 日均流动_居住社区房价_中
  226. "f_flowhouse_low", # 日均流动_居住社区房价_低
  227. "f_flowhouse_lower", # 日均流动_居住社区房价_次低
  228. "f_flowhouse_second_high", # 日均流动_居住社区房价_次高
  229. "f_flowhouse_high", # 日均流动_居住社区房价_高
  230. "f_flowage_17", # 日均流动_年龄_0_17
  231. "f_flowage_24", # 日均流动_年龄_18_24
  232. "f_flowage_30", # 日均流动_年龄_25_30
  233. "f_flowage_35", # 日均流动_年龄_31_35
  234. "f_flowage_40", # 日均流动_年龄_36_40
  235. "f_flowage_45", # 日均流动_年龄_41_45
  236. "f_flowage_60", # 日均流动_年龄_46_60
  237. "f_flowage_over_60", # 日均流动_年龄_61以上
  238. "f_flowsex_woman", # 日均流动_性别_女
  239. "f_flowsex_man", # 日均流动_性别_男
  240. "f_holidayurban_cons_middle", # 节假日流动_城市消费水平_中
  241. "f_holidayurban_cons_low", # 节假日流动_城市消费水平_低
  242. "f_holidayurban_cons_lower", # 节假日流动_城市消费水平_次低
  243. "f_holidayurban_cons_secondhigh", # 节假日流动_城市消费水平_次高
  244. "f_holidayurban_cons_high", # 节假日流动_城市消费水平_高
  245. "f_holidayedu_junior_middle", # 节假日流动_学历_初中
  246. "f_holidayedu_doctor", # 节假日流动_学历_博士
  247. "f_holidayedu_specialty", # 节假日流动_学历_大专
  248. "f_holidayedu_primary", # 节假日流动_学历_小学
  249. "f_holidayedu_college", # 节假日流动_学历_本科
  250. "f_holidayedu_postgraduate", # 节假日流动_学历_硕士
  251. "f_holidayedu_senior_middle", # 节假日流动_学历_高中
  252. "f_holidayhouse_middle", # 节假日流动_居住社区房价_中
  253. "f_holidayhouse_low", # 节假日流动_居住社区房价_低
  254. "f_holidayhouse_lower", # 节假日流动_居住社区房价_次低
  255. "f_holidayhouse_second_high", # 节假日流动_居住社区房价_次高
  256. "f_holidayhouse_high", # 节假日流动_居住社区房价_高
  257. "f_holidayage_17", # 节假日流动_年龄_0_17
  258. "f_holidayage_24", # 节假日流动_年龄_18_24
  259. "f_holidayage_30", # 节假日流动_年龄_25_30
  260. "f_holidayage_35", # 节假日流动_年龄_31_35
  261. "f_holidayage_40", # 节假日流动_年龄_36_40
  262. "f_holidayage_45", # 节假日流动_年龄_41_45
  263. "f_holidayage_60", # 节假日流动_年龄_46_60
  264. "f_holidayage_over_60", # 节假日流动_年龄_61以上
  265. "f_holidaysex_woman", # 节假日流动_性别_女
  266. "f_holidaysex_man", # 节假日流动_性别_男
  267. "f_workday_urban_cons_middle", # 工作日流动_城市消费水平_中
  268. "f_workday_urban_cons_low", # 工作日流动_城市消费水平_低
  269. "f_workday_urban_cons_lower", # 工作日流动_城市消费水平_次低
  270. "f_workday_urban_cons_secondhigh",# 工作日流动_城市消费水平_次高
  271. "f_workday_urban_cons_high", # 工作日流动_城市消费水平_高
  272. "f_workday_edu_junior_middle", # 工作日流动_学历_初中
  273. "f_workday_edu_doctor", # 工作日流动_学历_博士
  274. "f_workday_edu_specialty", # 工作日流动_学历_大专
  275. "f_workday_edu_primary", # 工作日流动_学历_小学
  276. "f_workday_edu_college", # 工作日流动_学历_本科
  277. "f_workday_edu_postgraduate", # 工作日流动_学历_硕士
  278. "f_workday_edu_senior_middle", # 工作日流动_学历_高中
  279. "f_workday_house_middle", # 工作日流动_居住社区房价_中
  280. "f_workday_house_low", # 工作日流动_居住社区房价_低
  281. "f_workday_house_lower", # 工作日流动_居住社区房价_次低
  282. "f_workday_house_second_high", # 工作日流动_居住社区房价_次高
  283. "f_workday_house_high", # 工作日流动_居住社区房价_高
  284. "f_workday_age_17", # 工作日流动_年龄_0_17
  285. "f_workday_age_24", # 工作日流动_年龄_18_24
  286. "f_workday_age_30", # 工作日流动_年龄_25_30
  287. "f_workday_age_35", # 工作日流动_年龄_31_35
  288. "f_workday_age_40", # 工作日流动_年龄_36_40
  289. "f_workday_age_45", # 工作日流动_年龄_41_45
  290. "f_workday_age_60", # 工作日流动_年龄_46_60
  291. "f_workday_age_over_60", # 工作日流动_年龄_61以上
  292. "f_workday_sex_woman", # 工作日流动_性别_女
  293. "f_workday_sex_man", # 工作日流动_性别_男
  294. ]
  295. ONEHOT_CAT = {
  296. "r_home_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10000以上"],
  297. "r_work_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10000以上"],
  298. "r_resident_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10001-20000", "20000以上"],
  299. "r_urban_cons_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  300. "r_urban_cons_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  301. "r_urban_cons_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  302. "r_urban_cons_secondhigh": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  303. "r_urban_cons_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  304. "r_edu_junior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  305. "r_edu_doctor": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  306. "r_edu_specialty": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  307. "r_edu_primary": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  308. "r_edu_college": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  309. "r_edu_postgraduate": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  310. "r_edu_senior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  311. "r_house_price79999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  312. "r_house_price59999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  313. "r_house_price39999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  314. "r_house_price19999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  315. "r_house_price9999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  316. "r_house_price7999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  317. "r_house_price4999": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  318. "r_age_17": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  319. "r_age_24": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  320. "r_age_30": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  321. "r_age_35": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  322. "r_age_40": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  323. "r_age_45": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  324. "r_age_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  325. "r_age_over_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  326. "r_sex_woman": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  327. "r_sex_man": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  328. "r_catering_50": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  329. "r_catering_100": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  330. "r_catering_150": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  331. "r_catering_200": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  332. "r_catering_500": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  333. "r_catering_over_500": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  334. "r_catering_times_2": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  335. "r_catering_times_4": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  336. "r_catering_times_6": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  337. "r_catering_times_8": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  338. "r_catering_times_10": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  339. "r_catering_times_11": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  340. "r_native_beijing": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  341. "r_native_tianjing": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  342. "r_native_hebei": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  343. "r_native_shanxi": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  344. "r_native_neimeng": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  345. "r_native_liaoning": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  346. "r_native_jilin": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  347. "r_native_heilongjiang": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  348. "r_native_shanghai": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  349. "r_native_jiangsu": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  350. "r_native_zhejiang": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  351. "r_native_anhui": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  352. "r_native_fujian": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  353. "r_native_jiangix": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  354. "r_native_shandong": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  355. "r_native_henan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  356. "r_native_hubei": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  357. "r_native_hunan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  358. "r_native_guangdong": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  359. "r_native_hainan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  360. "r_native_sichuan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  361. "r_native_guizhou": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  362. "r_native_yunnan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  363. "r_native_shan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  364. "r_native_gansu": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  365. "r_native_qinghai": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  366. "r_native_guangxi": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  367. "r_native_ningxia": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  368. "r_native_xinjiang": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  369. "r_native_xizang": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  370. "r_native_chongqing": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  371. "r_native_hongkong": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  372. "r_native_macao": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  373. "r_native_taiwan": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  374. "r_native_other": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  375. "f_flow_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10001-50000", "50001-100000", "100000以上"],
  376. "f_holiday_flow_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10001-50000", "50001-100000", "100000以上"],
  377. "f_workday_flow_num": ["0-100", "101-500", "501-2000", "2001-5000", "5001-10000", "10001-50000", "50001-100000", "100000以上"],
  378. "f_flowurban_cons_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  379. "f_flowurban_cons_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  380. "f_flowurban_cons_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  381. "f_flowurban_cons_second_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  382. "f_flowurban_cons_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  383. "f_flowedu_junior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  384. "f_flowedu_doctor": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  385. "f_flowedu_specialty": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  386. "f_flowedu_primary": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  387. "f_flowedu_college": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  388. "f_flowedu_postgraduate": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  389. "f_flowedu_senior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  390. "f_flowhouse_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  391. "f_flowhouse_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  392. "f_flowhouse_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  393. "f_flowhouse_second_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  394. "f_flowhouse_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  395. "f_flowage_17": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  396. "f_flowage_24": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  397. "f_flowage_30": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  398. "f_flowage_35": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  399. "f_flowage_40": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  400. "f_flowage_45": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  401. "f_flowage_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  402. "f_flowage_over_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  403. "f_flowsex_woman": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  404. "f_flowsex_man": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  405. "f_holidayurban_cons_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  406. "f_holidayurban_cons_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  407. "f_holidayurban_cons_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  408. "f_holidayurban_cons_secondhigh": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  409. "f_holidayurban_cons_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  410. "f_holidayedu_junior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  411. "f_holidayedu_doctor": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  412. "f_holidayedu_specialty": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  413. "f_holidayedu_primary": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  414. "f_holidayedu_college": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  415. "f_holidayedu_postgraduate": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  416. "f_holidayedu_senior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  417. "f_holidayhouse_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  418. "f_holidayhouse_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  419. "f_holidayhouse_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  420. "f_holidayhouse_second_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  421. "f_holidayhouse_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  422. "f_holidayage_17": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  423. "f_holidayage_24": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  424. "f_holidayage_30": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  425. "f_holidayage_35": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  426. "f_holidayage_40": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  427. "f_holidayage_45": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  428. "f_holidayage_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  429. "f_holidayage_over_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  430. "f_holidaysex_woman": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  431. "f_holidaysex_man": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  432. "f_workday_urban_cons_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  433. "f_workday_urban_cons_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  434. "f_workday_urban_cons_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  435. "f_workday_urban_cons_secondhigh": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  436. "f_workday_urban_cons_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  437. "f_workday_edu_junior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  438. "f_workday_edu_doctor": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  439. "f_workday_edu_specialty": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  440. "f_workday_edu_primary": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  441. "f_workday_edu_college": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  442. "f_workday_edu_postgraduate": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  443. "f_workday_edu_senior_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  444. "f_workday_house_middle": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  445. "f_workday_house_low": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  446. "f_workday_house_lower": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  447. "f_workday_house_second_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  448. "f_workday_house_high": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  449. "f_workday_age_17": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  450. "f_workday_age_24": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  451. "f_workday_age_30": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  452. "f_workday_age_35": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  453. "f_workday_age_40": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  454. "f_workday_age_45": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  455. "f_workday_age_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  456. "f_workday_age_over_60": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  457. "f_workday_sex_woman": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  458. "f_workday_sex_man": ["0-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-100"],
  459. }
  460. CLEANING_RULES = {
  461. "r_home_num": {"method": "fillna", "opt": "fill", "value": "501-2000", "type": "str"},
  462. "r_work_num": {"method": "fillna", "opt": "fill", "value": "501-2000", "type": "str"},
  463. "r_resident_num": {"method": "fillna", "opt": "fill", "value": "501-2000", "type": "str"},
  464. "r_urban_cons_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  465. "r_urban_cons_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  466. "r_urban_cons_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  467. "r_urban_cons_secondhigh": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  468. "r_urban_cons_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  469. "r_edu_junior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  470. "r_edu_doctor": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  471. "r_edu_specialty": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  472. "r_edu_primary": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  473. "r_edu_college": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  474. "r_edu_postgraduate": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  475. "r_edu_senior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  476. "r_house_price79999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  477. "r_house_price59999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  478. "r_house_price39999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  479. "r_house_price19999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  480. "r_house_price9999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  481. "r_house_price7999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  482. "r_house_price4999": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  483. "r_age_17": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  484. "r_age_24": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  485. "r_age_30": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  486. "r_age_35": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  487. "r_age_40": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  488. "r_age_45": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  489. "r_age_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  490. "r_age_over_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  491. "r_sex_woman": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  492. "r_sex_man": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  493. "r_catering_50": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  494. "r_catering_100": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  495. "r_catering_150": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  496. "r_catering_200": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  497. "r_catering_500": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  498. "r_catering_over_500": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  499. "r_catering_times_2": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  500. "r_catering_times_4": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  501. "r_catering_times_6": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  502. "r_catering_times_8": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  503. "r_catering_times_10": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  504. "r_catering_times_11": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  505. "r_native_beijing": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  506. "r_native_tianjing": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  507. "r_native_hebei": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  508. "r_native_shanxi": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  509. "r_native_neimeng": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  510. "r_native_liaoning": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  511. "r_native_jilin": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  512. "r_native_heilongjiang": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  513. "r_native_shanghai": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  514. "r_native_jiangsu": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  515. "r_native_zhejiang": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  516. "r_native_anhui": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  517. "r_native_fujian": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  518. "r_native_jiangix": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  519. "r_native_shandong": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  520. "r_native_henan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  521. "r_native_hubei": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  522. "r_native_hunan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  523. "r_native_guangdong": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  524. "r_native_hainan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  525. "r_native_sichuan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  526. "r_native_guizhou": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  527. "r_native_yunnan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  528. "r_native_shan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  529. "r_native_gansu": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  530. "r_native_qinghai": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  531. "r_native_guangxi": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  532. "r_native_ningxia": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  533. "r_native_xinjiang": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  534. "r_native_xizang": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  535. "r_native_chongqing": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  536. "r_native_hongkong": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  537. "r_native_macao": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  538. "r_native_taiwan": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  539. "r_native_other": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  540. "f_flow_num": {"method": "fillna", "opt": "fill", "value": "2001-5000", "type": "str"},
  541. "f_holiday_flow_num": {"method": "fillna", "opt": "fill", "value": "2001-5000", "type": "str"},
  542. "f_workday_flow_num": {"method": "fillna", "opt": "fill", "value": "2001-5000", "type": "str"},
  543. "f_flowurban_cons_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  544. "f_flowurban_cons_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  545. "f_flowurban_cons_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  546. "f_flowurban_cons_second_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  547. "f_flowurban_cons_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  548. "f_flowedu_junior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  549. "f_flowedu_doctor": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  550. "f_flowedu_specialty": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  551. "f_flowedu_primary": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  552. "f_flowedu_college": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  553. "f_flowedu_postgraduate": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  554. "f_flowedu_senior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  555. "f_flowhouse_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  556. "f_flowhouse_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  557. "f_flowhouse_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  558. "f_flowhouse_second_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  559. "f_flowhouse_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  560. "f_flowage_17": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  561. "f_flowage_24": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  562. "f_flowage_30": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  563. "f_flowage_35": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  564. "f_flowage_40": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  565. "f_flowage_45": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  566. "f_flowage_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  567. "f_flowage_over_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  568. "f_flowsex_woman": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  569. "f_flowsex_man": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  570. "f_holidayurban_cons_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  571. "f_holidayurban_cons_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  572. "f_holidayurban_cons_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  573. "f_holidayurban_cons_secondhigh": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  574. "f_holidayurban_cons_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  575. "f_holidayedu_junior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  576. "f_holidayedu_doctor": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  577. "f_holidayedu_specialty": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  578. "f_holidayedu_primary": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  579. "f_holidayedu_college": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  580. "f_holidayedu_postgraduate": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  581. "f_holidayedu_senior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  582. "f_holidayhouse_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  583. "f_holidayhouse_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  584. "f_holidayhouse_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  585. "f_holidayhouse_second_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  586. "f_holidayhouse_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  587. "f_holidayage_17": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  588. "f_holidayage_24": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  589. "f_holidayage_30": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  590. "f_holidayage_35": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  591. "f_holidayage_40": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  592. "f_holidayage_45": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  593. "f_holidayage_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  594. "f_holidayage_over_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  595. "f_holidaysex_woman": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  596. "f_holidaysex_man": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  597. "f_workday_urban_cons_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  598. "f_workday_urban_cons_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  599. "f_workday_urban_cons_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  600. "f_workday_urban_cons_secondhigh": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  601. "f_workday_urban_cons_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  602. "f_workday_edu_junior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  603. "f_workday_edu_doctor": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  604. "f_workday_edu_specialty": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  605. "f_workday_edu_primary": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  606. "f_workday_edu_college": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  607. "f_workday_edu_postgraduate": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  608. "f_workday_edu_senior_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  609. "f_workday_house_middle": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  610. "f_workday_house_low": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  611. "f_workday_house_lower": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  612. "f_workday_house_second_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  613. "f_workday_house_high": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  614. "f_workday_age_17": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  615. "f_workday_age_24": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  616. "f_workday_age_30": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  617. "f_workday_age_35": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  618. "f_workday_age_40": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  619. "f_workday_age_45": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  620. "f_workday_age_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  621. "f_workday_age_over_60": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  622. "f_workday_sex_woman": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  623. "f_workday_sex_man": {"method": "fillna", "opt": "fill", "value": "40-50", "type": "str"},
  624. }
  625. class ImportanceFeaturesMap:
  626. CUSTOM_FEATURES_MAP = {
  627. "BB_RTL_CUST_MARKET_TYPE_NAME": "零售户市场类型名称",
  628. "BB_RTL_CUST_BUSINESS_TYPE_NAME": "零售客户业态名称",
  629. "BB_RTL_CUST_CHAIN_FLAG": "零售户连锁标识",
  630. "MD04_MG_RTL_CUST_CREDITCLASS_NAME": "零售户信用等级名称",
  631. "MD04_DIR_SAL_STORE_FLAG": "直营店标识",
  632. "BB_CUSTOMER_MANAGER_SCOPE_NAME": "零售户经营范围名称",
  633. "BB_RTL_CUST_TERMINAL_LEVEL_NAME": "零售户终端层级名称",
  634. "OPERATOR_EDU": "零售客户经营者文化程度",
  635. "STORE_AREA": "店铺经营面积",
  636. "OPERATOR_AGE": "经营者年龄",
  637. "PRODUCT_INSALE_QTY": "在销品规数",
  638. }
  639. PRODUCT_FEATRUES_MAP = {
  640. "factory_name": "产地",
  641. "brand_name": "品牌名称",
  642. "is_low_tar": "低焦油卷烟",
  643. "is_medium": "中支烟",
  644. "is_tiny": "细支烟",
  645. "is_coarse": "粗支烟",
  646. "is_exploding_beads": "爆珠烟",
  647. "is_abnormity": "异形包装",
  648. "is_cig": "雪茄烟",
  649. "is_chuangxin": "创新品类",
  650. "direct_retail_price": "卷烟建议零售价",
  651. "tbc_total_length": "烟支总长度",
  652. "product_style": "包装类型",
  653. }
  654. SHOPING_FEATURES_MAP = {
  655. "r_home_num": "常驻人口_居住人数",
  656. "r_work_num": "常驻人口_工作人数",
  657. "r_resident_num": "常驻人口_工作或居住人数",
  658. "r_urban_cons_middle": "常驻人口_城市消费水平_中",
  659. "r_urban_cons_low": "常驻人口_城市消费水平_低",
  660. "r_urban_cons_lower": "常驻人口_城市消费水平_次低",
  661. "r_urban_cons_secondhigh": "常驻人口_城市消费水平_次高",
  662. "r_urban_cons_high": "常驻人口_城市消费水平_高",
  663. "r_edu_junior_middle": "常驻人口_学历_初中",
  664. "r_edu_doctor": "常驻人口_学历_博士",
  665. "r_edu_specialty": "常驻人口_学历_大专",
  666. "r_edu_primary": "常驻人口_学历_小学",
  667. "r_edu_college": "常驻人口_学历_本科",
  668. "r_edu_postgraduate": "常驻人口_学历_硕士",
  669. "r_edu_senior_middle": "常驻人口_学历_高中",
  670. "r_house_price79999": "常驻人口_居住社区房价_60000_79999",
  671. "r_house_price59999": "常驻人口_居住社区房价_40000_59999",
  672. "r_house_price39999": "常驻人口_居住社区房价_20000_39999",
  673. "r_house_price19999": "常驻人口_居住社区房价_10000_19999",
  674. "r_house_price9999": "常驻人口_居住社区房价_8000_9999",
  675. "r_house_price7999": "常驻人口_居住社区房价_5000_7999",
  676. "r_house_price4999": "常驻人口_居住社区房价_2000_4999",
  677. "r_age_17": "常驻人口_年龄_0_17",
  678. "r_age_24": "常驻人口_年龄_18_24",
  679. "r_age_30": "常驻人口_年龄_25_30",
  680. "r_age_35": "常驻人口_年龄_31_35",
  681. "r_age_40": "常驻人口_年龄_36_40",
  682. "r_age_45": "常驻人口_年龄_41_45",
  683. "r_age_60": "常驻人口_年龄_46_60",
  684. "r_age_over_60": "常驻人口_年龄_61以上",
  685. "r_sex_woman": "常驻人口_性别_女",
  686. "r_sex_man": "常驻人口_性别_男",
  687. "r_catering_50": "常驻人口_餐饮消费水平_50",
  688. "r_catering_100": "常驻人口_餐饮消费水平_100",
  689. "r_catering_150": "常驻人口_餐饮消费水平_150",
  690. "r_catering_200": "常驻人口_餐饮消费水平_200",
  691. "r_catering_500": "常驻人口_餐饮消费水平_500",
  692. "r_catering_over_500": "常驻人口_餐饮消费水平_500以上",
  693. "r_catering_times_2": "常驻人口_餐饮消费频次_1_2",
  694. "r_catering_times_4": "常驻人口_餐饮消费频次_2_4",
  695. "r_catering_times_6": "常驻人口_餐饮消费频次_4_6",
  696. "r_catering_times_8": "常驻人口_餐饮消费频次_6_8",
  697. "r_catering_times_10": "常驻人口_餐饮消费频次_8_10",
  698. "r_catering_times_11": "常驻人口_餐饮消费频次_11以上",
  699. "r_native_beijing": "常驻人口_家乡地_北京市",
  700. "r_native_tianjing": "常驻人口_家乡地_天津市",
  701. "r_native_hebei": "常驻人口_家乡地_河北省",
  702. "r_native_shanxi": "常驻人口_家乡地_山西省",
  703. "r_native_neimeng": "常驻人口_家乡地_内蒙古",
  704. "r_native_liaoning": "常驻人口_家乡地_辽宁省",
  705. "r_native_jilin": "常驻人口_家乡地_吉林省",
  706. "r_native_heilongjiang": "常驻人口_家乡地_黑龙江省",
  707. "r_native_shanghai": "常驻人口_家乡地_上海市",
  708. "r_native_jiangsu": "常驻人口_家乡地_江苏省",
  709. "r_native_zhejiang": "常驻人口_家乡地_浙江省",
  710. "r_native_anhui": "常驻人口_家乡地_安徽省",
  711. "r_native_fujian": "常驻人口_家乡地_福建省",
  712. "r_native_jiangix": "常驻人口_家乡地_江西省",
  713. "r_native_shandong": "常驻人口_家乡地_山东省",
  714. "r_native_henan": "常驻人口_家乡地_河南省",
  715. "r_native_hubei": "常驻人口_家乡地_湖北省",
  716. "r_native_hunan": "常驻人口_家乡地_湖南省",
  717. "r_native_guangdong": "常驻人口_家乡地_广东省",
  718. "r_native_hainan": "常驻人口_家乡地_海南省",
  719. "r_native_sichuan": "常驻人口_家乡地_四川省",
  720. "r_native_guizhou": "常驻人口_家乡地_贵州省",
  721. "r_native_yunnan": "常驻人口_家乡地_云南省",
  722. "r_native_shan": "常驻人口_家乡地_陕西省",
  723. "r_native_gansu": "常驻人口_家乡地_甘肃省",
  724. "r_native_qinghai": "常驻人口_家乡地_青海省",
  725. "r_native_guangxi": "常驻人口_家乡地_广西壮族自治区",
  726. "r_native_ningxia": "常驻人口_家乡地_宁夏回族自治区",
  727. "r_native_xinjiang": "常驻人口_家乡地_新疆维吾尔自治区",
  728. "r_native_xizang": "常驻人口_家乡地_西藏自治区",
  729. "r_native_chongqing": "常驻人口_家乡地_重庆市",
  730. "r_native_hongkong": "常驻人口_家乡地_香港",
  731. "r_native_macao": "常驻人口_家乡地_澳门",
  732. "r_native_taiwan": "常驻人口_家乡地_台湾",
  733. "r_native_other": "常驻人口_家乡地_其它",
  734. "f_flow_num": "流动人口_工作日_日均流动人口数量",
  735. "f_holiday_flow_num": "流动人口_节假日_日均流动人口数量",
  736. "f_workday_flow_num": "流动人口_日均流动人口数量",
  737. "f_flowurban_cons_middle": "日均流动_城市消费水平_中",
  738. "f_flowurban_cons_low": "日均流动_城市消费水平_低",
  739. "f_flowurban_cons_lower": "日均流动_城市消费水平_次低",
  740. "f_flowurban_cons_second_high": "日均流动_城市消费水平_次高",
  741. "f_flowurban_cons_high": "日均流动_城市消费水平_高",
  742. "f_flowedu_junior_middle": "日均流动_学历_初中",
  743. "f_flowedu_doctor": "日均流动_学历_博士",
  744. "f_flowedu_specialty": "日均流动_学历_大专",
  745. "f_flowedu_primary": "日均流动_学历_小学",
  746. "f_flowedu_college": "日均流动_学历_本科",
  747. "f_flowedu_postgraduate": "日均流动_学历_硕士",
  748. "f_flowedu_senior_middle": "日均流动_学历_高中",
  749. "f_flowhouse_middle": "日均流动_居住社区房价_中",
  750. "f_flowhouse_low": "日均流动_居住社区房价_低",
  751. "f_flowhouse_lower": "日均流动_居住社区房价_次低",
  752. "f_flowhouse_second_high": "日均流动_居住社区房价_次高",
  753. "f_flowhouse_high": "日均流动_居住社区房价_高",
  754. "f_flowage_17": "日均流动_年龄_0_17",
  755. "f_flowage_24": "日均流动_年龄_18_24",
  756. "f_flowage_30": "日均流动_年龄_25_30",
  757. "f_flowage_35": "日均流动_年龄_31_35",
  758. "f_flowage_40": "日均流动_年龄_36_40",
  759. "f_flowage_45": "日均流动_年龄_41_45",
  760. "f_flowage_60": "日均流动_年龄_46_60",
  761. "f_flowage_over_60": "日均流动_年龄_61以上",
  762. "f_flowsex_woman": "日均流动_性别_女",
  763. "f_flowsex_man": "日均流动_性别_男",
  764. "f_holidayurban_cons_middle": "节假日流动_城市消费水平_中",
  765. "f_holidayurban_cons_low": "节假日流动_城市消费水平_低",
  766. "f_holidayurban_cons_lower": "节假日流动_城市消费水平_次低",
  767. "f_holidayurban_cons_secondhigh": "节假日流动_城市消费水平_次高",
  768. "f_holidayurban_cons_high": "节假日流动_城市消费水平_高",
  769. "f_holidayedu_junior_middle": "节假日流动_学历_初中",
  770. "f_holidayedu_doctor": "节假日流动_学历_博士",
  771. "f_holidayedu_specialty": "节假日流动_学历_大专",
  772. "f_holidayedu_primary": "节假日流动_学历_小学",
  773. "f_holidayedu_college": "节假日流动_学历_本科",
  774. "f_holidayedu_postgraduate": "节假日流动_学历_硕士",
  775. "f_holidayedu_senior_middle": "节假日流动_学历_高中",
  776. "f_holidayhouse_middle": "节假日流动_居住社区房价_中",
  777. "f_holidayhouse_low": "节假日流动_居住社区房价_低",
  778. "f_holidayhouse_lower": "节假日流动_居住社区房价_次低",
  779. "f_holidayhouse_second_high": "节假日流动_居住社区房价_次高",
  780. "f_holidayhouse_high": "节假日流动_居住社区房价_高",
  781. "f_holidayage_17": "节假日流动_年龄_0_17",
  782. "f_holidayage_24": "节假日流动_年龄_18_24",
  783. "f_holidayage_30": "节假日流动_年龄_25_30",
  784. "f_holidayage_35": "节假日流动_年龄_31_35",
  785. "f_holidayage_40": "节假日流动_年龄_36_40",
  786. "f_holidayage_45": "节假日流动_年龄_41_45",
  787. "f_holidayage_60": "节假日流动_年龄_46_60",
  788. "f_holidayage_over_60": "节假日流动_年龄_61以上",
  789. "f_holidaysex_woman": "节假日流动_性别_女",
  790. "f_holidaysex_man": "节假日流动_性别_男",
  791. "f_workday_urban_cons_middle": "工作日流动_城市消费水平_中",
  792. "f_workday_urban_cons_low": "工作日流动_城市消费水平_低",
  793. "f_workday_urban_cons_lower": "工作日流动_城市消费水平_次低",
  794. "f_workday_urban_cons_secondhigh": "工作日流动_城市消费水平_次高",
  795. "f_workday_urban_cons_high": "工作日流动_城市消费水平_高",
  796. "f_workday_edu_junior_middle": "工作日流动_学历_初中",
  797. "f_workday_edu_doctor": "工作日流动_学历_博士",
  798. "f_workday_edu_specialty": "工作日流动_学历_大专",
  799. "f_workday_edu_primary": "工作日流动_学历_小学",
  800. "f_workday_edu_college": "工作日流动_学历_本科",
  801. "f_workday_edu_postgraduate": "工作日流动_学历_硕士",
  802. "f_workday_edu_senior_middle": "工作日流动_学历_高中",
  803. "f_workday_house_middle": "工作日流动_居住社区房价_中",
  804. "f_workday_house_low": "工作日流动_居住社区房价_低",
  805. "f_workday_house_lower": "工作日流动_居住社区房价_次低",
  806. "f_workday_house_second_high": "工作日流动_居住社区房价_次高",
  807. "f_workday_house_high": "工作日流动_居住社区房价_高",
  808. "f_workday_age_17": "工作日流动_年龄_0_17",
  809. "f_workday_age_24": "工作日流动_年龄_18_24",
  810. "f_workday_age_30": "工作日流动_年龄_25_30",
  811. "f_workday_age_35": "工作日流动_年龄_31_35",
  812. "f_workday_age_40": "工作日流动_年龄_36_40",
  813. "f_workday_age_45": "工作日流动_年龄_41_45",
  814. "f_workday_age_60": "工作日流动_年龄_46_60",
  815. "f_workday_age_over_60": "工作日流动_年龄_61以上",
  816. "f_workday_sex_woman": "工作日流动_性别_女",
  817. "f_workday_sex_man": "工作日流动_性别_男",
  818. }
  819. class DeliveryConfig:
  820. FEATURE_COLUMNS = [
  821. "customer_code", # 零售户代码
  822. "goods_code", # 卷烟代码
  823. "retail_index_week", # 周市场零售价格监测指数
  824. "turnover_rate_collpoint", # 采集点销售量动销率(周)
  825. "turnover_rate_terminal", # 零售终端销售量动销率(周)
  826. "sale_qty", # 周销售量
  827. ]
  828. CLEANING_RULES = {
  829. "retail_index_week": {"method": "fillna", "opt": "fill", "value": 0.0000, "type": "num"},
  830. "turnover_rate_collpoint": {"method": "fillna", "opt": "fill", "value": 0.0000, "type": "num"},
  831. "turnover_rate_terminal": {"method": "fillna", "opt": "fill", "value": 0.0000, "type": "num"},
  832. "sale_qty": {"method": "fillna", "opt": "fill", "value": 0, "type": "num"},
  833. }