How to Perform Fuzzy Matching and Merge on Two DataFrames Based on Geographical Regions in Pandas

45 Views Asked by At

I'm currently working on a project where I need to merge two pandas DataFrames based on geographical regions (such as Province, City, and District). However, the challenge is that the geographical region information in one DataFrame (let's call it left_df) might not exactly match the corresponding information in the other DataFrame (right_df). Here's a brief overview of the structure of my DataFrames: left_df:

时间  姓名  一级地区    二级地区    三级地区
2020/5/9    王华  安徽省 安庆市 
2021/9/30   孟宪锋 新疆维吾尔自治区    双河市 
2016/5/6    赵丹  吉林省     
2021/9/26   朱洪山 海南省     
2021/8/12   陈斯  广东省 惠州市 
2000/8/12   许崇伟 中央      
2021/8/12   张建军 中央      
2021/8/12   段广平 中央      
2021/8/12   张生杰 青海省     
2021/8/12   李晋平 山西省     
2021/8/12   董良  山西省     
2021/8/10   房全忠 宁夏回族自治区     
2021/8/9    唐斌  广西壮族自治区     
2021/8/9    孙本良 北京市     
2021/8/9    段颖  云南省     
2021/8/8    李强  安徽省 马鞍山市    
2021/8/8    曹建国 陕西省     
2021/8/5    王兵  中央      
2021/8/5    李勤  中央      
2021/8/5    关奇峰 河南省     
2021/8/4    宿迟  北京市     
2021/8/4    刘家铎 辽宁省     
2021/8/3    高杰  山东省 日照市 
2021/8/1    曾建华 江西省     
2021/7/29   张丽萍 广东省 河源市 
2021/7/29   刘红立 四川省     
2021/7/28   肖亚庆 中央      
2021/7/28   韩清  辽宁省     
2021/7/27   赵应云 湖南省     
2021/7/27   高斌  辽宁省 沈阳市 和平区     

right_df:

id  上市时间    prov_reg    city_reg    county_reg
301077  2021/9/30   浙江省 杭州市 余杭区
301073  2021/9/30   浙江省 杭州市 西湖区
301075  2021/9/29   西藏自治区   昌都市 卡若区
301072  2021/9/29   江苏省 无锡市 锡山区
001217  2021/9/29   安徽省 池州市 东至县
301068  2021/9/28   浙江省 杭州市 余杭区
301069  2021/9/27   山东省 淄博市 淄川区
301071  2021/9/24   河南省 商丘市 柘城县
301063  2021/9/24   江苏省 苏州市 张家港市
301070  2021/9/23   上海市 上海市 松江区
301067  2021/9/22   广东省 深圳市 宝安区
301066  2021/9/22   浙江省 杭州市 上城区
300854  2021/9/16   广东省 深圳市 南山区
600955  2021/9/15   山东省 东营市 利津县
301065  2021/9/14   浙江省 台州市 临海市
301062  2021/9/14   上海市 上海市 金山区
301061  2021/9/13   江苏省 常州市 钟楼区
301060  2021/9/13   上海市 上海市 长宁区
301059  2021/9/13   广东省 肇庆市 四会市
301058  2021/9/9    江苏省 无锡市 滨湖区
301057  2021/9/9    浙江省 湖州市 德清县
001213  2021/9/8    北京市 北京市 丰台区
301056  2021/9/7    浙江省 湖州市 南浔区
301055  2021/9/6    浙江省 杭州市 富阳区
001215  2021/9/6    河南省 郑州市 中原区
301053  2021/9/1    浙江省 绍兴市 新昌县
301052  2021/8/30   浙江省 杭州市 西湖区
301051  2021/8/27   广东省 深圳市 宝安区
301050  2021/8/24   四川省 成都市 武侯区
301049  2021/8/24   安徽省 滁州市 南谯区
001212  2021/8/23   广东省 佛山市 高明区
301048  2021/8/18   湖北省 襄阳市 襄州区
301046  2021/8/17   上海市 上海市 普陀区
301047  2021/8/16   北京市 北京市 通州区
301045  2021/8/13   江苏省 苏州市 相城区
300994  2021/8/12   浙江省 杭州市 上城区
300814  2021/8/12   广东省 深圳市 宝安区
301043  2021/8/11   广东省 江门市 台山市
301041  2021/8/11   广东省 深圳市 福田区
430090  2021/8/9    北京市 北京市 海淀区
301042  2021/8/5    广东省 珠海市 香洲区
300964  2021/8/5    江苏省 南京市 溧水区
001211  2021/8/5    浙江省 杭州市 余杭区
301038  2021/8/4    广东省 深圳市 龙华区
300774  2021/8/4    北京市 北京市 大兴区
301040  2021/8/3    江苏省 苏州市 张家港市
301037  2021/7/30   上海市 上海市 奉贤区
301036  2021/7/29   江苏省 泰州市 兴化市
001210  2021/7/29   北京市 北京市 昌平区
301035  2021/7/28   山东省 潍坊市 寒亭区
301024  2021/7/28   上海市 上海市 浦东新区
301033  2021/7/26   广东省 广州市 黄埔区
301029  2021/7/23   广东省 东莞市 
001209  2021/7/23   广东省 汕头市 潮南区
301032  2021/7/22   浙江省 绍兴市 新昌县
301030  2021/7/22   江苏省 苏州市 相城区
301028  2021/7/20   福建省 厦门市 同安区
301025  2021/7/19   上海市 上海市 金山区
301026  2021/7/16   江苏省 徐州市 鼓楼区
301031  2021/7/15   陕西省 西安市 雁塔区
301027  2021/7/15   广西壮族自治区 南宁市 青秀区
301023  2021/7/7    江苏省 无锡市 惠山区
301018  2021/7/7    广东省 佛山市 顺德区
301021  2021/7/6    广东省 深圳市 南山区
301020  2021/7/6    山东省 烟台市 芝罘区
301017  2021/7/5    山东省 济南市 历城区
301022  2021/7/2    山东省 青岛市 城阳区
301016  2021/6/30   江苏省 南京市 浦口区
301015  2021/6/30   山东省 青岛市 市北区
301013  2021/6/29   广东省 深圳市 龙华区
301019  2021/6/28   浙江省 宁波市 鄞州区
301004  2021/6/25   浙江省 金华市 武义县
001208  2021/6/24   湖南省 湘潭市 岳塘区
001207  2021/6/23   山东省 潍坊市 青州市
301012  2021/6/22   江苏省 泰州市 姜堰区
301010  2021/6/18   江苏省 常州市 武进区
300984  2021/6/18   浙江省 衢州市 柯城区
301011  2021/6/17   广东省 广州市 番禺区
301009  2021/6/17   浙江省 杭州市 临安区
301007  2021/6/16   辽宁省 大连市 旅顺口区
301008  2021/6/11   浙江省 金华市 婺城区
600905  2021/6/10   北京市 北京市 通州区
601156  2021/6/9    上海市 上海市 浦东新区
301006  2021/6/7    江苏省 南京市 江宁区
301002  2021/6/7    广东省 深圳市 宝安区
300998  2021/6/2    浙江省 宁波市 宁海县
300997  2021/6/2    广东省 湛江市 赤坎区
301005  2021/6/1    上海市 上海市 嘉定区
301003  2021/6/1    江苏省 苏州市 张家港市
301001  2021/5/28   上海市 上海市 金山区
301000  2021/5/28   上海市 上海市 金山区
300995  2021/5/26   广东省 江门市 江海区
600032  2021/5/25   浙江省 杭州市 上城区
300992  2021/5/25   浙江省 台州市 温岭市
300614  2021/5/25   河南省 郑州市 中原区
300993  2021/5/24   山东省 潍坊市 寿光市
300991  2021/5/20   广东省 深圳市 光明区
001206  2021/5/18   天津市 天津市 西青区
001205  2021/5/13   江苏省 南京市 浦口区
300990  2021/5/12   河北省 廊坊市 三河市
300988  2021/5/12   天津市 天津市 西青区
300987  2021/5/11   四川省 成都市 武侯区
001203  2021/5/10   内蒙古自治区  巴彦淖尔市   乌拉特前旗
300989  2021/5/7    广东省 深圳市 福田区
300986  2021/4/30   江西省 抚州市 广昌县
300985  2021/4/29   吉林省 长春市 朝阳区
001202  2021/4/29   广东省 佛山市 南海区
001201  2021/4/28   广东省 河源市 东源县
300982  2021/4/27   江苏省 常州市 武进区
300981  2021/4/27   河北省 唐山市 滦南县
300979  2021/4/26   广东省 中山市 
300978  2021/4/26   广东省 佛山市 顺德区
300980  2021/4/21   湖北省 孝感市 汉川市
300975  2021/4/21   江苏省 南京市 鼓楼区
300983  2021/4/20   上海市 上海市 宝山区
300977  2021/4/20   广东省 深圳市 龙岗区
300976  2021/4/19   广东省 东莞市 
300972  2021/4/19   福建省 漳州市 漳浦县
601279  2021/4/15   吉林省 长春市 朝阳区
300973  2021/4/15   广东省 广州市 增城区
300971  2021/4/15   湖北省 襄阳市 襄州区
300968  2021/4/15   广东省 惠州市 惠城区
300967  2021/4/13   宁夏回族自治区 银川市 永宁县
300970  2021/4/12   江苏省 宿迁市 泗阳县
300969  2021/4/12   浙江省 宁波市 江北区
300966  2021/4/9    湖北省 襄阳市 宜城市
300963  2021/4/9    上海市 上海市 嘉定区
300962  2021/4/9    广东省 深圳市 罗湖区
003043  2021/4/6    江苏省 苏州市 相城区
003042  2021/4/6    山东省 济南市 历下区
003041  2021/4/6    浙江省 金华市 义乌市
300965  2021/4/2    北京市 北京市 顺义区
300961  2021/3/30   广东省 深圳市 南山区
300960  2021/3/29   广东省 深圳市 龙华区
300958  2021/3/29   北京市 北京市 朝阳区
300956  2021/3/26   安徽省 六安市 舒城县
300957  2021/3/25   云南省 昆明市 五华区
300955  2021/3/24   福建省 泉州市 鲤城区
300959  2021/3/22   江苏省 无锡市 滨湖区
003040  2021/3/22   广东省 东莞市 
300953  2021/3/18   浙江省 宁波市 宁海县
300952  2021/3/11   江苏省 南通市 如东县
003039  2021/3/8    广东省 佛山市 顺德区
300950  2021/3/3    山东省 青岛市 胶州市
300951  2021/2/26   广东省 深圳市 龙岗区
300949  2021/2/26   广东省 深圳市 南山区
300948  2021/2/25   山东省 青岛市 崂山区
300947  2021/2/10   上海市 上海市 长宁区
300945  2021/2/10   浙江省 杭州市 萧山区
300943  2021/2/10   浙江省 绍兴市 上虞区
003038  2021/2/10   安徽省 滁州市 天长市
300942  2021/2/9    广东省 深圳市 宝安区
300941  2021/2/9    福建省 福州市 晋安区
300946  2021/2/8    福建省 莆田市 荔城区
600916  2021/2/5    北京市 北京市 大兴区
003037  2021/2/4    广东省 中山市 
300940  2021/2/3    广东省 深圳市 宝安区
300939  2021/1/28   广东省 深圳市 龙岗区
003036  2021/1/28   浙江省 绍兴市 新昌县
300938  2021/1/27   广东省 深圳市 南山区
300937  2021/1/27   四川省 成都市 金牛区
300936  2021/1/26   江苏省 常州市 钟楼区
300933  2021/1/22   江苏省 无锡市 宜兴市
300932  2021/1/22   广东省 东莞市 
300931  2021/1/21   江苏省 苏州市 吴江区
300930  2021/1/21   浙江省 杭州市 建德市
300935  2021/1/20   北京市 北京市 海淀区
300929  2021/1/20   安徽省 马鞍山市    雨山区
003035  2021/1/19   广东省 广州市 黄埔区
003032  2021/1/12   江苏省 宿迁市 沭阳县
003033  2021/1/11   山东省 青岛市 平度市
300927  2021/1/7    江苏省 南通市 崇川区
300926  2021/1/7    江苏省 苏州市 昆山市
300928  2021/1/6    北京市 北京市 通州区
003030  2021/1/6    浙江省 杭州市 滨江区
003031  2021/1/4    河北省 石家庄市    鹿泉区
300894  2020/12/31  浙江省 嘉兴市 海宁市
300925  2020/12/30  广东省 深圳市 南山区
430510  2020/12/28  山东省 青岛市 胶州市
003028  2020/12/28  广东省 深圳市 光明区
300922  2020/12/25  河北省 秦皇岛市    海港区
300920  2020/12/25  浙江省 湖州市 长兴县
300923  2020/12/24  吉林省 长春市 绿园区
003029  2020/12/24  吉林省 长春市 朝阳区
300919  2020/12/23  贵州省 铜仁市 玉屏侗族自治县
300921  2020/12/22  广东省 深圳市 福田区
300918  2020/12/22  山东省 烟台市 龙口市
300917  2020/12/21  广东省 深圳市 福田区
003027  2020/12/18  安徽省 马鞍山市    含山县
003026  2020/12/18  浙江省 湖州市 长兴县
003020  2020/12/15  安徽省 合肥市 蜀山区
003025  2020/12/11  浙江省 宁波市 鄞州区
003023  2020/12/11  四川省 成都市 武侯区
003022  2020/12/8   山东省 枣庄市 滕州市
300913  2020/12/7   浙江省 湖州市 德清县
300912  2020/12/7   江苏省 无锡市 惠山区
601686  2020/12/4   天津市 天津市 静海区
003021  2020/12/4   广东省 深圳市 宝安区
300911  2020/12/3   浙江省 绍兴市 嵊州市
300916  2020/12/2   广东省 深圳市 宝安区
300915  2020/12/2   上海市 上海市 奉贤区
300910  2020/11/27  河南省 新乡市 新乡县
003004  2020/11/26  北京市 北京市 海淀区
430047  2020/11/24  北京市 北京市 海淀区
300908  2020/11/23  河南省 南阳市 西峡县
300909  2020/11/18  广东省 深圳市 宝安区
300907  2020/11/18  江苏省 苏州市 相城区
003019  2020/11/17  福建省 厦门市 集美区
300884  2020/11/12  福建省 厦门市 海沧区
003018  2020/11/6   广东省 东莞市 
300906  2020/11/5   江西省 南昌市 青山湖区
300905  2020/11/5   江苏省 苏州市 相城区
300903  2020/11/5   广东省 惠州市 惠阳区
300902  2020/10/29  福建省 厦门市 集美区
300901  2020/10/29  浙江省 温州市 鹿城区
300900  2020/10/29  黑龙江省    哈尔滨市    平房区
003017  2020/10/26  浙江省 杭州市 建德市
003016  2020/10/26  福建省 厦门市 湖里区
003013  2020/10/22  广东省 广州市 越秀区
003015  2020/10/21  江苏省 苏州市 昆山市
601568  2020/10/20  陕西省 榆林市 神木市
300899  2020/10/16  上海市 上海市 浦东新区
300898  2020/10/16  浙江省 温州市 苍南县
300999  2020/10/15  上海市 上海市 浦东新区
003001  2020/10/13  北京市 北京市 海淀区
003011  2020/9/30   浙江省 嘉兴市 海宁市
300897  2020/9/28   浙江省 杭州市 滨江区
300896  2020/9/28   北京市 北京市 昌平区
003010  2020/9/25   广东省 广州市 黄埔区
003009  2020/9/25   陕西省 西安市 雁塔区
002998  2020/9/25   江苏省 无锡市 江阴市
300895  2020/9/24   北京市 北京市 东城区
300893  2020/9/24   浙江省 宁波市 余姚市
300892  2020/9/24   上海市 上海市 松江区
003008  2020/9/23   河南省 许昌市 建安区
003007  2020/9/23   北京市 北京市 昌平区
003005  2020/9/22   北京市 北京市 门头沟区
003002  2020/9/22   山西省 长治市 壶关县
003006  2020/9/21   重庆市 重庆市 巴南区
003003  2020/9/21   广东省 东莞市 
300891  2020/9/17   广东省 云浮市 云安区
300890  2020/9/17   广东省 深圳市 龙华区
300888  2020/9/17   广东省 深圳市 龙华区
300889  2020/9/16   广东省 深圳市 光明区
300887  2020/9/16   北京市 北京市 海淀区
300886  2020/9/16   安徽省 安庆市 潜山市
003000  2020/9/14   湖南省 岳阳市 平江县
002984  2020/9/11   山东省 青岛市 即墨区
300885  2020/9/10   江苏省 扬州市 邗江区
300883  2020/9/10   安徽省 滁州市 明光市
300882  2020/9/10   浙江省 台州市 天台县
601702  2020/9/7    上海市 上海市 金山区
002999  2020/9/3    广东省 广州市 越秀区
002997  2020/9/3    安徽省 芜湖市 鸠江区
300881  2020/9/1    江苏省 常州市 钟楼区
300880  2020/9/1    浙江省 宁波市 慈溪市
300879  2020/9/1    浙江省 宁波市 余姚市
002996  2020/8/28   重庆市 重庆市 合川区
300878  2020/8/24   浙江省 丽水市 莲都区
300877  2020/8/24   安徽省 滁州市 琅琊区
300876  2020/8/24   广东省 揭阳市 揭东区
300875  2020/8/24   天津市 天津市 北辰区
300873  2020/8/24   江苏省 苏州市 吴江区
300872  2020/8/24   西藏自治区   拉萨市 堆龙德庆区
300871  2020/8/24   湖北省 武汉市 东西湖区
300870  2020/8/24   广东省 深圳市 宝安区
300869  2020/8/24   河北省 秦皇岛市    海港区
300868  2020/8/24   广东省 深圳市 龙华区
300867  2020/8/24   福建省 厦门市 湖里区
300866  2020/8/24   湖南省 长沙市 岳麓区
300865  2020/8/24   四川省 成都市 大邑县
300864  2020/8/24   江苏省 南京市 六合区
300863  2020/8/24   浙江省 宁波市 宁海县
300862  2020/8/24   安徽省 铜陵市 铜官区
300861  2020/8/24   陕西省 咸阳市 杨陵区
300860  2020/8/24   北京市 北京市 东城区
002993  2020/8/17   广东省 东莞市 
002995  2020/8/5    北京市 北京市 东城区
002992  2020/8/3    广东省 深圳市 龙华区
002991  2020/7/31   江西省 萍乡市 安源区
430489  2020/7/27   安徽省 蚌埠市 淮上区
430418  2020/7/27   江苏省 苏州市 虎丘区
430198  2020/7/27   湖北省 武汉市 江夏区
300858  2020/7/27   北京市 北京市 怀柔区
300857  2020/7/27   广东省 深圳市 福田区
300853  2020/7/24   浙江省 杭州市 余杭区
300855  2020/7/23   江苏省 镇江市 丹阳市
300856  2020/7/22   江苏省 南京市 江宁区
300848  2020/7/20   山东省 烟台市 福山区
300851  2020/7/17   北京市 北京市 昌平区
300852  2020/7/13   广东省 肇庆市 四会市
300850  2020/7/13   河南省 洛阳市 新安县
300849  2020/7/10   浙江省 绍兴市 越城区
300847  2020/7/9    河北省 邯郸市 丛台区
300840  2020/7/8    山东省 青岛市 即墨区
300845  2020/7/3    河南省 郑州市 中原区
300843  2020/7/2    广东省 东莞市 
300846  2020/7/1    北京市 北京市 朝阳区
300839  2020/6/30   浙江省 宁波市 镇海区
300824  2020/6/19   广东省 深圳市 南山区
300842  2020/6/18   江苏省 无锡市 宜兴市
300841  2020/6/16   四川省 成都市 龙泉驿区
002989  2020/6/10   广东省 深圳市 福田区
601399  2020/6/8    四川省 德阳市 旌阳区
300838  2020/6/8    浙江省 温州市 瑞安市
601827  2020/6/5    重庆市 重庆市 大渡口区
300837  2020/6/5    浙江省 湖州市 长兴县
002986  2020/6/2    湖南省 长沙市 雨花区
300836  2020/5/28   江苏省 苏州市 昆山市
300835  2020/5/25   安徽省 合肥市 庐江县
002990  2020/5/25   广东省 深圳市 福田区
300833  2020/5/20   广东省 广州市 番禺区
601778  2020/5/19   江西省 上饶市 横峰县
002988  2020/5/18   广东省 清远市 清城区
300832  2020/5/12   广东省 深圳市 坪山区
300831  2020/5/7    陕西省 西安市 雁塔区
002987  2020/5/7    北京市 北京市 海淀区
300830  2020/5/6    山东省 济南市 历下区
002985  2020/4/29   北京市 北京市 昌平区
002983  2020/4/28   安徽省 合肥市 肥西县
002982  2020/4/24   湖南省 常德市 石门县
601609  2020/4/22   浙江省 宁波市 江北区
300829  2020/4/22   河南省 周口市 郸城县
300828  2020/4/21   天津市 天津市 西青区
002981  2020/4/17   广东省 东莞市 
002978  2020/4/17   四川省 攀枝花市    米易县
002980  2020/4/15   广东省 深圳市 南山区
300827  2020/4/10   江苏省 无锡市 惠山区
002979  2020/4/8    广东省 深圳市 南山区
300826  2020/4/3    江苏省 南京市 建邺区
300825  2020/3/27   北京市 北京市 大兴区
300823  2020/3/19   天津市 天津市 北辰区
002977  2020/3/17   四川省 成都市 武侯区
300822  2020/3/13   广东省 深圳市 龙岗区
300821  2020/3/12   山东省 淄博市 桓台县
300819  2020/3/12   江苏省 苏州市 吴江区
002976  2020/3/6    江苏省 苏州市 虎丘区
300817  2020/2/18   浙江省 嘉兴市 嘉善县
300820  2020/2/13   四川省 德阳市 旌阳区
300818  2020/2/12   江西省 上饶市 信州区
300816  2020/2/10   安徽省 池州市 贵池区
002975  2020/2/5    广东省 珠海市 香洲区
300815  2020/1/23   安徽省 安庆市 岳西县
601816  2020/1/16   北京市 北京市 海淀区
300813  2020/1/14   浙江省 杭州市 滨江区
002971  2020/1/13   湖北省 宜昌市 长阳土家族自治县
300812  2020/1/9    广东省 深圳市 宝安区
002973  2020/1/6    广东省 广州市 从化区
300811  2019/12/30  广东省 深圳市 南山区
002972  2019/12/27  广东省 深圳市 福田区
601512  2019/12/20  江苏省 苏州市 苏州工业园区
300807  2019/12/19  河南省 郑州市 中原区
002970  2019/12/17  广东省 深圳市 南山区
300810  2019/12/6   北京市 北京市 海淀区
300809  2019/12/4   江苏省 苏州市 昆山市
002968  2019/12/3   重庆市 重庆市 渝中区
002969  2019/12/2   安徽省 滁州市 琅琊区
300808  2019/11/29  广东省 广州市 白云区
300801  2019/11/28  山东省 枣庄市 市中区
300806  2019/11/25  江苏省 宿迁市 泗洪县
300798  2019/11/22  江苏省 泰州市 泰兴市
300805  2019/11/21  广东省 广州市 天河区
300796  2019/11/15  浙江省 绍兴市 上虞区
300802  2019/11/14  上海市 上海市 闵行区
300564  2019/11/8   西藏自治区   拉萨市 堆龙德庆区
002967  2019/11/8   广东省 广州市 番禺区
300800  2019/11/6   湖南省 长沙市 岳麓区
300797  2019/11/1   北京市 北京市 海淀区
002963  2019/10/28  北京市 北京市 海淀区
002965  2019/10/25  广东省 东莞市 
300795  2019/10/22  浙江省 杭州市 钱塘区
300793  2019/10/18  广东省 东莞市 
300792  2019/9/27   浙江省 杭州市 钱塘区
300791  2019/9/25   广东省 汕头市 龙湖区
300790  2019/9/20   广东省 东莞市 
002962  2019/9/17   湖北省 荆州市 沙市区
300789  2019/8/28   四川省 成都市 武侯区
002959  2019/8/23   广东省 佛山市 顺德区
300787  2019/8/15   江西省 吉安市 安福县
002960  2019/8/9    河北省 张家口市    涿鹿县
002957  2019/7/26   广东省 深圳市 光明区
300786  2019/7/23   山东省 青岛市 市北区
300785  2019/7/15   北京市 北京市 丰台区
300783  2019/7/12   安徽省 芜湖市 弋江区
301039  2019/7/11   广东省 深圳市 南山区
300788  2019/7/5    北京市 北京市 朝阳区
601698  2019/6/28   北京市 北京市 海淀区
600968  2019/6/26   北京市 北京市 东城区
300594  2019/6/21   山东省 济南市 莱芜区
002956  2019/6/19   广西壮族自治区 桂林市 临桂区
300782  2019/6/18   江苏省 无锡市 滨湖区
300781  2019/6/6            
300780  2019/5/31   四川省 眉山市 青神县
002955  2019/5/23   北京市 北京市 海淀区
300779  2019/5/22   山东省 青岛市 黄岛区
300775  2019/5/21   陕西省 西安市 阎良区
300776  2019/5/17   湖北省 武汉市 江夏区
600989  2019/5/16   宁夏回族自治区 银川市 灵武市
300777  2019/5/16   江苏省 常州市 新北区
300778  2019/5/10   广东省 深圳市 龙岗区
002953  2019/5/9    广东省 中山市 
300772  2019/4/26   浙江省 杭州市 临平区
300773  2019/4/25   北京市 北京市 海淀区
300771  2019/4/22   广东省 深圳市 光明区
300770  2019/4/19   广东省 广州市 越秀区
300769  2019/4/15   广东省 深圳市 南山区
300768  2019/4/12   浙江省 杭州市 滨江区
300767  2019/3/29   云南省 昆明市 官渡区
002952  2019/3/28   辽宁省 鞍山市 立山区
300766  2019/3/25   浙江省 杭州市 西湖区
300765  2019/3/22   河北省 石家庄市    栾城区
300763  2019/3/19   浙江省 宁波市 象山县
002951  2019/3/15   四川省 成都市 龙泉驿区
300762  2019/3/14   上海市 上海市 长宁区
002950  2019/3/11   湖北省 宜昌市 枝江市
002949  2019/2/26   广东省 深圳市 龙华区
300758  2019/2/22   辽宁省 鞍山市 海城市
300761  2019/2/18   江苏省 常州市 武进区
002947  2019/2/1    江苏省 苏州市 昆山市
300755  2019/1/29   云南省 迪庆藏族自治州 香格里拉市
300759  2019/1/28   北京市 北京市 大兴区
002946  2019/1/25   四川省 成都市 锦江区
601615  2019/1/23   广东省 中山市 
300757  2019/1/8    江苏省 苏州市 苏州工业园区
300756  2018/12/28  广东省 中山市 
300753  2018/12/13  江苏省 南通市 如东县
002942  2018/12/5   浙江省 台州市 仙居县
300752  2018/11/30  广东省 深圳市 龙华区
002943  2018/11/29  湖南省 益阳市 资阳区
002941  2018/11/28  新疆维吾尔自治区    乌鲁木齐市   新市区
300751  2018/11/9   江苏省 苏州市 吴江区
002940  2018/10/23  浙江省 绍兴市 嵊州市
300760  2018/10/16  广东省 深圳市 南山区
300694  2018/10/15  江苏省 无锡市 滨湖区
002937  2018/9/26   浙江省 宁波市 慈溪市
300749  2018/9/25   广东省 中山市 
300748  2018/9/21   江西省 赣州市 章贡区
002938  2018/9/18   广东省 深圳市 宝安区
002935  2018/9/3    四川省 成都市 金牛区
002933  2018/8/28   北京市 北京市 海淀区
300724  2018/8/10   广东省 深圳市 坪山区
601606  2018/8/6    安徽省 合肥市 肥西县
002932  2018/7/10   湖北省 武汉市 江夏区
300747  2018/6/25   湖北省 武汉市 江夏区
300750  2018/6/11   福建省 宁德市 蕉城区
601138  2018/6/8    广东省 深圳市 龙华区
300746  2018/5/25   浙江省 杭州市 拱墅区
300745  2018/5/23   广东省 深圳市 南山区
300454  2018/5/16   广东省 深圳市 南山区
300743  2018/4/27   浙江省 杭州市 临平区
002931  2018/4/3    浙江省 绍兴市 上虞区
300504  2018/3/30   四川省 成都市 大邑县
002930  2018/3/28   广东省 东莞市 
600929  2018/3/26   湖南省 长沙市 雨花区
300634  2018/3/23   广东省 深圳市 南山区
002928  2018/3/2    贵州省 贵阳市 南明区
300741  2018/3/1    西藏自治区   拉萨市 堆龙德庆区
002929  2018/3/1    广西壮族自治区 南宁市 西乡塘区
601360  2018/2/28   天津市 天津市 西青区
002927  2018/2/23   贵州省 遵义市 汇川区
300740  2018/2/8    湖南省 长沙市 岳麓区
300644  2018/2/6    江苏省 南京市 浦口区
300739  2018/2/1    广东省 深圳市 宝安区
300737  2018/1/25   广东省 佛山市 顺德区
300738  2018/1/19   广东省 广州市 南沙区
300624  2018/1/18   西藏自治区   拉萨市 堆龙德庆区
300733  2018/1/16   四川省 成都市 青羊区
002925  2018/1/15   福建省 厦门市 海沧区
300736  2018/1/9    北京市 北京市 朝阳区
300664  2018/1/5    江苏省 无锡市 宜兴市
002923  2018/1/5    广东省 珠海市 金湾区
300735  2017/12/29  广东省 惠州市 惠阳区
002922  2017/12/29  广东省 佛山市 南海区
300684  2017/12/27  北京市 北京市 大兴区
002921  2017/12/27  山东省 济宁市 兖州区
002920  2017/12/26  广东省 惠州市 惠城区
001965  2017/12/25  天津市 天津市 滨海新区
002918  2017/12/19  广东省 佛山市 南海区
002919  2017/12/18  广东省 汕头市 澄海区
600025  2017/12/15  云南省 昆明市 官渡区
002916  2017/12/13  广东省 深圳市 龙岗区
300732  2017/12/12  河南省 郑州市 中牟县
300731  2017/12/8   广东省 深圳市 光明区
002917  2017/12/8   广东省 深圳市 南山区
300730  2017/12/5   湖南省 长沙市 岳麓区
002915  2017/12/5   浙江省 绍兴市 上虞区
300729  2017/12/1   浙江省 宁波市 鄞州区
002913  2017/12/1   湖南省 益阳市 资阳区
300727  2017/11/27  浙江省 宁波市 宁海县
601019  2017/11/22  山东省 济南市 市中区
002911  2017/11/22  广东省 佛山市 禅城区
300726  2017/11/21  湖南省 株洲市 荷塘区
002912  2017/11/21  广东省 深圳市 南山区
600933  2017/11/17  浙江省 宁波市 江北区
300723  2017/11/16  广东省 广州市 海珠区
002864  2017/11/16  陕西省 商洛市 柞水县
300721  2017/11/15  江苏省 无锡市 江阴市
300725  2017/11/10  江苏省 南京市 浦口区
300722  2017/11/10  江西省 新余市 渝水区
300719  2017/11/9   北京市 北京市 海淀区
300716  2017/11/9   广东省 东莞市 
600903  2017/11/7   贵州省 贵阳市 云岩区
300720  2017/11/6   广东省 佛山市 顺德区
300718  2017/11/6   浙江省 嘉兴市 嘉善县
300717  2017/11/6   江苏省 徐州市 新沂市
300713  2017/11/1   广东省 深圳市 南山区
300711  2017/11/1   广东省 广州市 黄埔区
300712  2017/10/31  福建省 福州市 闽侯县
300715  2017/10/26  江苏省 苏州市 吴江区
002909  2017/10/26  广东省 广州市 黄埔区
002908  2017/10/20  广东省 广州市 天河区
002907  2017/10/20  重庆市 重庆市 荣昌区
300710  2017/10/19  浙江省 杭州市 萧山区
300709  2017/10/19  江苏省 常州市 钟楼区
300708  2017/10/16  江苏省 苏州市 苏州工业园区
002905  2017/10/16  广东省 广州市 天河区
002906  2017/10/13  广东省 惠州市 惠城区
002903  2017/10/13  湖南省 长沙市 浏阳市
300707  2017/10/10  江苏省 无锡市 新吴区
300705  2017/10/10  湖南省 长沙市 浏阳市
601086  2017/9/29   甘肃省 兰州市 城关区
002902  2017/9/29   广东省 东莞市 
300706  2017/9/26   福建省 福州市 长乐区
300654  2017/9/26   山东省 淄博市 张店区
002901  2017/9/22   福建省 厦门市 海沧区
002900  2017/9/22   黑龙江省    哈尔滨市    松北区
300703  2017/9/19   浙江省 宁波市 北仑区
300702  2017/9/19   浙江省 台州市 黄岩区
300701  2017/9/15   河南省 南阳市 内乡县
002899  2017/9/15   山东省 青岛市 即墨区
002893  2017/9/15   北京市 北京市 丰台区
300700  2017/9/12   湖南省 长沙市 岳麓区
002898  2017/9/12   广东省 珠海市 香洲区
300695  2017/9/8    浙江省 杭州市 萧山区
300697  2017/9/7    江苏省 无锡市 江阴市
002897  2017/9/7    浙江省 温州市 乐清市
300699  2017/9/1    山东省 威海市 环翠区
300698  2017/8/31   浙江省 杭州市 临安区
002896  2017/8/29   浙江省 宁波市 慈溪市
002895  2017/8/25   贵州省 黔南布依族苗族自治州  福泉市
300696  2017/8/22   四川省 成都市 郫都区
300693  2017/8/22   广东省 深圳市 南山区
300692  2017/8/21   安徽省 合肥市 庐阳区
002891  2017/8/21   山东省 烟台市 莱山区
002892  2017/8/17   湖南省 永州市 祁阳市
300691  2017/8/11   广东省 中山市 
300688  2017/8/10   北京市 北京市 朝阳区
300689  2017/8/9    广东省 深圳市 南山区
300690  2017/8/8    山东省 德州市 德城区
300683  2017/8/8    湖北省 武汉市 蔡甸区
300686  2017/8/4    广东省 深圳市 坪山区
300687  2017/8/3            
300685  2017/8/2    福建省 厦门市 海沧区
002890  2017/8/2    山东省 烟台市 莱州市
300682  2017/8/1    江苏省 无锡市 新吴区
002887  2017/8/1    天津市 天津市 西青区
300679  2017/7/31   广东省 深圳市 光明区
002889  2017/7/31   广东省 深圳市 南山区
300678  2017/7/28   四川省 成都市 双流区
300681  2017/7/25   广东省 珠海市 香洲区
300680  2017/7/25   江苏省 无锡市 新吴区
300677  2017/7/21   山东省 淄博市 临淄区
002888  2017/7/21   广东省 广州市 南沙区
601619  2017/7/20   宁夏回族自治区 吴忠市 红寺堡区
300675  2017/7/19   广东省 深圳市 福田区
002882  2017/7/17   广东省 深圳市 龙岗区
300676  2017/7/14   广东省 深圳市 盐田区
300672  2017/7/12   湖南省 长沙市 长沙县
300673  2017/7/11   浙江省 温州市 平阳县
002884  2017/7/11   广东省 阳江市 阳春市
002879  2017/7/7    湖南省 长沙市 岳麓区
300671  2017/7/5    广东省 深圳市 福田区
300670  2017/7/3    江苏省 南京市 江宁区
300669  2017/6/29   浙江省 杭州市 余杭区
002886  2017/6/27   广东省 深圳市 南山区
002885  2017/6/27   广东省 深圳市 龙华区
002881  2017/6/22   广东省 深圳市 宝安区
002883  2017/6/20   江苏省 无锡市 滨湖区
300668  2017/6/19   广东省 深圳市 南山区
300667  2017/6/19   北京市 北京市 海淀区
002880  2017/6/16   广东省 深圳市 光明区
300666  2017/6/15   浙江省 宁波市 余姚市
300665  2017/6/13   湖南省 株洲市 荷塘区
300663  2017/6/8    北京市 北京市 昌平区
300662  2017/6/8    北京市 北京市 朝阳区
300661  2017/6/6    北京市 北京市 海淀区
002878  2017/6/6    北京市 北京市 西城区
002877  2017/6/5    江苏省 无锡市 新吴区
300660  2017/6/2    江苏省 常州市 武进区
300658  2017/6/2    福建省 厦门市 翔安区
002875  2017/6/1    广东省 深圳市 龙岗区
300659  2017/5/26   山东省 济南市 历下区
002876  2017/5/25   广东省 深圳市 坪山区
300657  2017/5/23   福建省 厦门市 翔安区
300655  2017/5/23   江苏省 苏州市 吴中区
300656  2017/5/19   广东省 深圳市 南山区
002873  2017/5/19   贵州省 贵阳市 乌当区
300653  2017/5/16   山东省 烟台市 福山区
300652  2017/5/16   浙江省 杭州市 萧山区
002870  2017/5/15   广东省 中山市 
002869  2017/5/15   广东省 深圳市 南山区
002871  2017/5/11   山东省 青岛市 城阳区
300651  2017/5/9    江苏省 苏州市 张家港市
300649  2017/5/5    浙江省 杭州市 西湖区
300643  2017/5/5    浙江省 杭州市 临平区
300650  2017/5/3    福建省 漳州市 龙海区
300647  2017/5/3    广东省 深圳市 龙岗区
002868  2017/5/3    福建省 南平市 浦城县
002867  2017/4/27   广东省 深圳市 罗湖区
300514  2017/4/26   广东省 深圳市 南山区
002866  2017/4/26   江苏省 扬州市 高邮市
300648  2017/4/25   福建省 福州市 马尾区
002865  2017/4/25   海南省 海口市 龙华区
300645  2017/4/21   浙江省 杭州市 余杭区
300642  2017/4/21   上海市 上海市 浦东新区
300554  2017/4/21   江苏省 南京市 江宁区
300641  2017/4/18   江苏省 镇江市 京口区
002863  2017/4/18   浙江省 金华市 婺城区
300640  2017/4/17   福建省 福州市 晋安区
300604  2017/4/17   浙江省 杭州市 滨江区
300638  2017/4/13   广东省 深圳市 南山区
002861  2017/4/13   湖北省 咸宁市 通城县
601366  2017/4/12   山东省 青岛市 黄岛区
300639  2017/4/12   广东省 潮州市 湘桥区
300637  2017/4/12   浙江省 绍兴市 上虞区
002860  2017/4/12   浙江省 杭州市 富阳区
002862  2017/4/11   广东省 汕头市 澄海区
002859  2017/4/7    浙江省 湖州市 安吉县
300633  2017/4/6    广东省 深圳市 南山区
300632  2017/4/6    福建省 厦门市 湖里区
601200  2017/3/31   上海市 上海市 浦东新区
300636  2017/3/31   江西省 宜春市 奉新县
300635  2017/3/31   广东省 广州市 白云区
601228  2017/3/29   广东省 广州市 南沙区
300630  2017/3/28   海南省 海口市 美兰区
300629  2017/3/24   广东省 佛山市 南海区
002858  2017/3/24   上海市 上海市 松江区
002774  2017/3/24   广东省 东莞市 
300631  2017/3/23   江苏省 南京市 浦口区
002857  2017/3/23   河南省 郑州市 管城回族区
300627  2017/3/21   上海市 上海市 青浦区
002855  2017/3/21   广东省 东莞市 
300626  2017/3/20   浙江省 宁波市 鄞州区
002856  2017/3/20   广东省 深圳市 福田区
300628  2017/3/17   福建省 厦门市 湖里区
300625  2017/3/17   广东省 广州市 番禺区
300621  2017/3/16   广东省 深圳市 福田区
300622  2017/3/15   广东省 深圳市 罗湖区
300623  2017/3/14   江苏省 南通市 启东市
300620  2017/3/10   广东省 珠海市 香洲区
002853  2017/3/10   广东省 中山市 
002852  2017/3/10   湖南省 岳阳市 岳阳楼区
300616  2017/3/7    广东省 广州市 天河区
300618  2017/3/6    江苏省 南京市 江宁区
002851  2017/3/6    广东省 深圳市 南山区
002850  2017/3/2    广东省 深圳市 龙华区
300619  2017/3/1    广东省 佛山市 三水区
300617  2017/2/28   江苏省 常州市 溧阳市
600939  2017/2/21   重庆市 重庆市 渝北区
300613  2017/2/20   上海市 上海市 徐汇区
300611  2017/2/20   浙江省 绍兴市 嵊州市
002849  2017/2/17   浙江省 杭州市 余杭区
601212  2017/2/15   甘肃省 白银市 白银区
300615  2017/2/15   广东省 深圳市 南山区
300612  2017/2/15   北京市 北京市 朝阳区
300609  2017/2/15   上海市 上海市 浦东新区
300610  2017/2/13   江苏省 扬州市 宝应县
300608  2017/2/13   北京市 北京市 海淀区
002848  2017/2/13   湖南省 郴州市 苏仙区
300607  2017/2/9    广东省 东莞市 
300606  2017/2/8    广东省 东莞市 
300605  2017/2/8    福建省 福州市 鼓楼区
002847  2017/2/8    湖南省 长沙市 浏阳市
300601  2017/2/7    广东省 深圳市 南山区
002846  2017/2/7    广东省 汕头市 濠江区
300603  2017/1/26   新疆维吾尔自治区    乌鲁木齐市   沙依巴克区
300602  2017/1/26   广东省 深圳市 光明区
300600  2017/1/25   江苏省 苏州市 常熟市
300578  2017/1/25   上海市 上海市 金山区
002845  2017/1/25   广东省 深圳市 龙华区
300599  2017/1/23   广东省 佛山市 南海区
300597  2017/1/23   吉林省 长春市 朝阳区
300598  2017/1/20   江苏省 南京市 雨花台区
300592  2017/1/20   湖南省 长沙市 岳麓区
002843  2017/1/20   湖南省 长沙市 望城区
300596  2017/1/19   天津市 天津市 河西区
002842  2017/1/19   广东省 潮州市 湘桥区
002841  2017/1/19   广东省 广州市 黄埔区
601858  2017/1/18   北京市 北京市 东城区
300595  2017/1/17   安徽省 合肥市 蜀山区
300593  2017/1/13   北京市 北京市 昌平区
300589  2017/1/13   广东省 中山市 
300584  2017/1/12   江苏省 南京市 栖霞区
002824  2017/1/12   广东省 中山市 
300590  2017/1/11   上海市 上海市 闵行区
300580  2017/1/11   江苏省 无锡市 滨湖区
300591  2017/1/10   广东省 东莞市 
002840  2017/1/10   浙江省 金华市 义乌市
300583  2017/1/6    山东省 菏泽市 定陶区
002838  2017/1/6    山东省 烟台市 龙口市
300588  2017/1/5    新疆维吾尔自治区    乌鲁木齐市   新市区
300587  2017/1/5    浙江省 台州市 天台县
300586  2017/1/4    广东省 汕头市 金平区
300585  2016/12/29  江苏省 南京市 江宁区
002837  2016/12/29  广东省 深圳市 龙华区
002836  2016/12/29  广东省 潮州市 湘桥区
300582  2016/12/28  浙江省 杭州市 滨江区
002835  2016/12/28  广东省 深圳市 南山区
002833  2016/12/28  广东省 广州市 黄埔区
600996  2016/12/26  贵州省 贵阳市 观山湖区
300579  2016/12/23  北京市 北京市 海淀区
002832  2016/12/23  广东省 广州市 番禺区
300577  2016/12/21  安徽省 滁州市 南谯区
300581  2016/12/20  陕西省 西安市 雁塔区
300576  2016/12/20  广东省 深圳市 宝安区
300575  2016/12/20  江苏省 南京市 六合区
002831  2016/12/16  广东省 深圳市 宝安区
300571  2016/12/13  浙江省 杭州市 上城区
002830  2016/12/13  广东省 深圳市 罗湖区
002829  2016/12/13  北京市 北京市 丰台区
002827  2016/12/9   西藏自治区   拉萨市 堆龙德庆区
002826  2016/12/9   西藏自治区   拉萨市 堆龙德庆区
300573  2016/12/8   辽宁省 沈阳市 浑南区
002828  2016/12/8   新疆维吾尔自治区    克拉玛依市   白碱滩区
300572  2016/12/6   广东省 深圳市 南山区
300570  2016/12/6   广东省 深圳市 坪山区
300568  2016/12/1   广东省 深圳市 光明区
002825  2016/11/29  上海市 上海市 浦东新区
002822  2016/11/29  广东省 深圳市 罗湖区
300569  2016/11/25  山东省 青岛市 胶州市
002823  2016/11/24  广东省 深圳市 坪山区
300567  2016/11/22  湖北省 武汉市 江夏区
300565  2016/11/22  广东省 深圳市 龙岗区
002821  2016/11/18  天津市 天津市 滨海新区
002820  2016/11/18  天津市 天津市 河西区
300561  2016/11/17  广东省 珠海市 香洲区
300562  2016/11/16  广东省 中山市 
300566  2016/11/15  浙江省 宁波市 鄞州区
300563  2016/11/14  江苏省 无锡市 江阴市
002819  2016/11/11  北京市 北京市 海淀区
002818  2016/11/9   四川省 成都市 成华区
300558  2016/11/7   浙江省 杭州市 临平区
300556  2016/11/4   广东省 深圳市 福田区
300560  2016/11/1   福建省 福州市 闽侯县
300559  2016/11/1   四川省 成都市 武侯区
300557  2016/11/1   湖北省 武汉市 江夏区
002817  2016/10/25  安徽省 宣城市 旌德县
300553  2016/10/21  浙江省 杭州市 西湖区
300552  2016/10/21  北京市 北京市 海淀区
300551  2016/10/18  上海市 上海市 普陀区
300550  2016/10/18  浙江省 杭州市 滨江区
300548  2016/10/12  浙江省 嘉兴市 南湖区
002815  2016/10/12  广东省 深圳市 光明区
002813  2016/10/12  广东省 深圳市 南山区
300549  2016/9/30   江苏省 苏州市 昆山市
300547  2016/9/30   四川省 达州市 大竹县
300546  2016/9/28   广东省 深圳市 南山区
300545  2016/9/28   广东省 深圳市 龙华区
300542  2016/9/20   北京市 北京市 海淀区
300536  2016/9/20   湖北省 武汉市 江岸区
601500  2016/9/19   江苏省 无锡市 锡山区
002812  2016/9/14   云南省 玉溪市 红塔区
300541  2016/9/13   北京市 北京市 海淀区
300534  2016/9/13   甘肃省 兰州市 榆中县
601163  2016/9/9    山东省 威海市 环翠区
300543  2016/9/8    广东省 深圳市 宝安区
002811  2016/9/8    广东省 深圳市 福田区
300539  2016/8/30   浙江省 宁波市 慈溪市
300537  2016/8/30   江苏省 无锡市 江阴市
300538  2016/8/26   广东省 深圳市 宝安区
002810  2016/8/26   山东省 淄博市 周村区
300540  2016/8/23   四川省 成都市 郫都区
002809  2016/8/23   广东省 惠州市 博罗县
300533  2016/8/18   广东省 深圳市 南山区
300532  2016/8/18   广东省 深圳市 龙岗区
601595  2016/8/17   上海市 上海市 徐汇区
600936  2016/8/15   广西壮族自治区 南宁市 青秀区
300535  2016/8/12   四川省 成都市 新津区
600977  2016/8/9    北京市 北京市 怀柔区
300531  2016/8/9    广东省 深圳市 南山区
300530  2016/8/9    湖南省 衡阳市 祁东县
300528  2016/8/8    江苏省 南京市 栖霞区
300527  2016/8/5    湖北省 武汉市 江夏区
300529  2016/8/2    广东省 珠海市 香洲区
300525  2016/7/26   福建省 福州市 闽侯县
300523  2016/7/26   北京市 北京市 海淀区
002806  2016/7/26   广东省 肇庆市 端州区
300517  2016/7/19   湖北省 武汉市 江夏区
002803  2016/7/12   福建省 厦门市 海沧区
300520  2016/7/8    安徽省 合肥市 蜀山区
002805  2016/7/7    山东省 枣庄市 台儿庄区
300522  2016/7/5    江苏省 苏州市 昆山市
300521  2016/7/5    广东省 广州市 黄埔区
002802  2016/6/29   江苏省 无锡市 锡山区
300519  2016/6/24   浙江省 绍兴市 嵊州市
300518  2016/6/24   广东省 深圳市 福田区
002801  2016/6/22   浙江省 杭州市 临平区
601127  2016/6/15   重庆市 重庆市 沙坪坝区
300515  2016/6/8    湖南省 长沙市 岳麓区
002799  2016/6/8    陕西省 西安市 雁塔区
601611  2016/6/6    上海市 上海市 青浦区
300516  2016/6/2    湖北省 武汉市 江夏区
300513  2016/5/30   北京市 北京市 海淀区
300512  2016/5/26   浙江省 杭州市 拱墅区
002798  2016/5/25   四川省 成都市 简阳市
002796  2016/5/10   江苏省 苏州市 虎丘区
300510  2016/5/6    吉林省 长春市 绿园区
300511  2016/5/4    上海市 上海市 奉贤区
300507  2016/4/29   江苏省 扬州市 邗江区
002795  2016/4/28   浙江省 台州市 玉环市
300509  2016/4/25   江苏省 苏州市 张家港市
300508  2016/4/19   上海市 上海市 闵行区
002793  2016/4/15   浙江省 台州市 温岭市
300474  2016/3/31   湖南省 长沙市 岳麓区
002791  2016/3/29   广东省 东莞市 
002792  2016/3/28   广东省 中山市 
300506  2016/3/24   广东省 深圳市 南山区
300484  2016/3/22   广东省 深圳市 光明区
601020  2016/3/16   西藏自治区   拉萨市 堆龙德庆区
300505  2016/3/15   云南省 昆明市 东川区
002789  2016/3/11   广东省 深圳市 福田区
300503  2016/3/9    广东省 广州市 黄埔区
002790  2016/3/8    福建省 厦门市 海沧区
300502  2016/3/3    四川省 成都市 武侯区
002788  2016/2/18   福建省 厦门市 湖里区
300501  2016/2/4    上海市 上海市 松江区

Based on the key information in df1, select the data that meets the criteria from df2. Explanation:

  1. The date in df2 must be less than or equal to the corresponding date in df1.
  2. For example, if there is only a primary region, then select all the data corresponding to the primary region. If there are primary and secondary regions, then select the regions corresponding to both primary and secondary levels. If the primary region is "Central," then select from the national scope.
  3. As shown in figure 1, for the first entry, "Wang Hua," corresponds to Anhui Province, Anqing City. There are three entries in df2 for Anhui Province, Anqing City. After judging based on the time, only two entries meet the criteria.
  4. The final result should retain all the data from df1 and the corresponding ID and listing date from df2, as shown in figure 2.

The goal is to perform a left merge on left_df with right_df based on the concatenation of Province, City, and District columns. However, the match has to be fuzzy since exact matches may not always be possible due to inconsistencies in naming or missing information (e.g., missing city or district names).

I attempted to create a concatenated 'region' column in each DataFrame and then perform a fuzzy match using custom logic with apply and looping through rows, but I'm facing performance issues and complexity in handling mismatches.

Is there a more efficient and effective way to perform this kind of fuzzy matching and merging based on geographical regions using pandas or any other Python library that can handle such scenarios more gracefully?

Any suggestions or guidance on how to approach this problem would be greatly appreciated. Thank you in advance for your help!

1

There are 1 best solutions below

1
Justin Tang On
# Version : 1.0
# File    : practise1.0.py
# Time    : 2024/2/19 21:52
import pandas as pd
df1 = pd.read_excel('pp.xlsx', sheet_name=0, usecols='A:E', keep_default_na='')
# print(df1)
# df2 = pd.read_excel('pp.xlsx', sheet_name=1, converters={'id': lambda s:f'{s:06}'}, keep_default_na='')
# df2 = pd.read_excel('pp.xlsx', sheet_name=1, converters={'id': lambda s:str(s).zfill(6)}, keep_default_na='')
df2 = pd.read_excel('pp.xlsx', sheet_name=1, converters={'id': lambda s:str(s).rjust(6,'0')}, keep_default_na='')
df2['id'] = df2['id'].astype(str)


def q1():
    tdf=(
        df1.apply(
        lambda x,b=df2:
        b.loc[
            lambda y:(y.iloc[:,1]<=x.iloc[0])
            &(
                y.iloc[:,2:].apply(
                    lambda z,a=x.iloc[2:].str.cat():
                    ('' if a=='中央' else a) in z.str.cat()
                    ,
                axis=1
                )
                     )
        ]
        .iloc[:,:2]
        .assign(**x)
        ,
        axis=1
    )
    )
    # print(pd.concat(tdf.tolist()))
    print(pd.concat([*tdf]))

def q2():
    tdf=(
        df1.apply(
        lambda x,b=df2:
        b.loc[
            lambda y:(y.iloc[:,1]<=x.iloc[0])
            &(
                y.iloc[:,2:].apply(
                    lambda z,a=x.iloc[2:].str.cat():
                    ('' if a=='中央' else a) in z.str.cat()
                    ,
                axis=1
                )
                     )
        ]
        .iloc[:,0]
        .tolist()
        ,
        axis=1
    )
    ).tolist()

    tdf1=(
        df1.apply(
        lambda x,b=df2:
        b.loc[
            lambda y:(y.iloc[:,1]<=x.iloc[0])
            &(
                y.iloc[:,2:].apply(
                    lambda z,a=x.iloc[2:].str.cat():
                    ('' if a=='中央' else a) in z.str.cat()
                    ,
                axis=1
                )
                     )
        ]
        .iloc[:,1]
        .tolist()
        ,
        axis=1
    )
    ).tolist()

    print(tdf)
    df1['A']=tdf
    df1['B']=tdf1
    print(df1)
    df1.explode(['A','B']).to_excel('bomb1.0.xlsx')

def q3():
    tdf=(
        df1.apply(
        lambda x,b=df2:
        b.loc[
            lambda y:(y.iloc[:,1]<=x.iloc[0])
            &(
                y.iloc[:,2:].apply(
                    lambda z,a=x.iloc[2:].str.cat():
                    ('' if a=='中央' else a) in z.str.cat()
                    ,
                axis=1
                )
                     )
        ]
        .iloc[:,:2]
        .assign(**x[:2])
        ,
        axis=1
    )
    ).tolist()
    print(pd.concat(tdf))
    print(df1)
    # print(pd.concat([df1,pd.concat(tdf)],axis=1))

    pd.concat(tdf).to_excel('draft3.xlsx')
    print(pd.concat(tdf))


if __name__ == '__main__':
    q3()