提取中文地址描述中的省市区信息

共 1154字,需浏览 3分钟

 ·

2024-04-10 18:14


f3b6751f663ef4b10fa500d0998d0843.webp




6c865b5638578feacaa805eea9d76cea.webp

实例描述





在一些商用数据中,存在诸多的可用信息供我们分析数据,仅仅地址信息一栏就有很多可用价值,例如按省、市、地区统计分析区域消费水平、产品销量、消费人次等等,但是可能会遇到这样的问题: Excel 表中地址信息中的省市区在一个单元格中,如图 1 所示。 这种情况如何批量提取地址描述中的省市区信息,从而实现按省、市或区统计数据呢?

f3a35e7edfc2486545c928ab7f74057f.webp


1   收货地址数据

本实例将提取地址中的省份,并按省份统计销售金额,效果如图 2 所示。

d59703976f50de6735e6d4bd4e1ef16c.webp


2   提取地址中的省份


6c865b5638578feacaa805eea9d76cea.webp

技术要点



Pandas DataFrame 对象中的 str.split() 内置方法可以实现切分字符串,从而对地址进行切分,我们观察 Excel 表中的地址信息是以空格分隔的,这样就可以使用空格将每个元素分开后存入列表中。

l   切分字符串,分开后存入一列里


series=data[ ' 列名 ' ].str.split( ' ' )


DataFrame 列中字符串以空格 ' ' 分隔开,每个元素分开后存入一列里。


l   切分字符串,分开后存入多列里


series=data[ ' 列名 ' ].str.split( ',' , expand = True )


参数 expand ,这个参数取 True 时,会把切分出来的内容分成多列。


如果只要第一列: series=data[' 列名 '].str.split(' ',expand=True)[0]




6c865b5638578feacaa805eea9d76cea.webp

代码实现



程序代码如下:


import  pandas  as  pd


aa = './data/TB2018.xlsx'


df = pd.DataFrame(pd.read_excel(aa))


series=df[ ' 收货地址 ' ].str.split( ' ' , expand = True )


df[ ' ' ]=series[0]


#df[' '],df[' '],df[' ']=series[0],series[1],series[2]


df1=df.groupby([ " " ])[ " 买家实际支付金额 " ].sum()


print (df1)


df.to_excel( 'test.xlsx' )






22d780d27ce80f4c9d086c4c209fe464.webp




浏览 40
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报