1条回答 默认 最新
weixin_41992909 2019-11-05 10:27关注首先你需要把Excel载入到python,
因为你没有原始的dataframe
所以我随便做了一个按行进行正则表达式
如果返回的匹配结果大于1个(2,3,4。。。)
则返回倒数第二个[-1]
如果返回结果小于等于1个(0,1)
则返回“没有归属”
最后append所有行的结果
并赋值给‘归属’列#%% import pandas as pd import re #%% df = pd.DataFrame() #%% df['B'] = ["山东省,中国23个省之一,简称鲁,省会济南。",\ "位于中国东部沿海北纬34°22.9′-38°24.01′,",\ "东经114°47.5′-122°42.3′之间,自北而南与",\ "河北、河南、安徽、江苏4省接壤。"] df['归属']=0 #%% pat = r'山东|济南|河北|河南|安徽|江苏' guishuall = [] for i in df.index: text = df.loc[i,'B'] guishu = re.findall(pat,text) if len(guishu) > 1: guishuall.append(guishu[-1]) else: guishuall.append('没有归属') print(guishuall) df['归属'] = guishuall本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报

