在处理数据时,根据用户的收货地址和我们家供应商的名称尝试提取地址。
先说一下CPCA这个包,下面这一段是官方给出的解释:
[“徐汇区虹漕路461号58号楼5楼”, “泉州市洛江区万安塘西工业区”]
↓ 转换
|省 |市 |区 |地址 |
|上海市|上海市|徐汇区|虹漕路461号58号楼5楼 |
|福建省|泉州市|洛江区|万安塘西工业区 |
优点:
1.能够匹配到省或者市的缩写,比如将"北京市"缩写为"北京",“江苏省"缩写为"江苏”
2.还处理了诸如"新疆维吾尔族自治区"缩写为"新疆","西藏藏族自治区"缩写为"西藏"等情况
原来的数据是这样的 最后,提取完地址是这样的特别说明下:代码目前仅仅支持python3
pip install cpca
注:cpca是chinese province city area的缩写
(为了方便各位看官老爷,我做了合并)
import cpca # 用来提取地址的包 # 提取语法如下: # 通过这两个字段中的地址信息,提取出来省份 # 可以提取【省、市、区、地址、adcode】 df_add1 = cpca.transform(df_main['CustomerAddress'])[['省','市','区']] df_add2 = cpca.transform(df_main['DistributionName'])[['省','市','区']] # 因为从两个列提出来的,让数据更全面些,所以做了更新组合 df_add = df_add1.combine_first(df_add2)
下面就是输出了,可以跟期望的表进行拼接等操作。看自己需要使用
[out:]
这里放一段拼接的代码,两种方法,做之前记得索引重置哦
# 索引重置参考下面这行: df_main.reset_index(drop=True) # 拼接合并参考下面两行(二选一) df_main = pd.merge(df_main,df_add,left_index=True,right_index=True,how='left') df_main = pd.concat([df_main,df_add],axis=1)
最后就得到了拼接后的完整图片



