标签:loc return text unit res 解析 data 预处理 生态
连接爬取到的存储在MySQL种的数据,在该部分不展示。
data = data[data.job_name.str.contains('数据')]# 工作名是否含有数据
# 月薪 import re def salary_deal(text): if '万/月' in text: unit = 10000 elif '千/月' in text: unit = 1000 elif '元/天' in text: unit = 22 elif '元/小时' in text: unit = 10*22 elif '万/年' in text: unit = 1/12*10000 else: return 0 res = re.findall(r'(\d+\.*\d*)',text) res = list(map(eval,res))# 将第一个表达式作用于第二个 if len(res)==1: return int(res[0]*unit) elif len(res)==2: return int((res[0]+res[1])*unit/2) else: raise ValueError# 转换成多少元/月,取平均数
data.loc[:,'salary'] = data.providesalary_text.apply(salary_deal)
# city切割 data.loc[:,'city'] = data.workarea_text.apply(lambda x:x.split('-')[0]) data.drop(columns='job_id',inplace=True)
# 月薪-区间 bins = [0,1]+[i for i in range(4000,14001,2000)]+[20000,30000,40000,200000] # 0,1 # 4000,6000,8000,100000,12000,14000 # 20000,30000,40000,200000 temp = pd.cut(data.salary,bins,right=False)# 分箱操作 data.loc[:,'salary_range'] = temp
# 公司类型 data.loc[:,'company_type'] = data.companytype_text
# 学历 def education_deal(text): education = ['中专','大专','本科','硕士','博士','研究生'] for e in education: if e in text: return e return '其它' data.loc[:,'education'] = data.attribute_text.apply(education_deal) # Invoke function on values of Series.
final_data = data.iloc[:, [0,2,6,7,8,9,10,11]] # 福利指数 final_data.loc[:,'treatment_score'] = final_data.jobwelf.apply(lambda x: len(x.split())) #福利
from provinces import PROVINCES # 省份 # 省级市+县级市,区 def find_province(x): for p in PROVINCES: # 省份 for c in p.get('city'): if (x in c.get('name'))or (x in c.get('districtAndCounty')): return p.get('name') return None final_data.loc[:,'provinces'] = final_data.city.apply(find_province)
final_data.to_excel('job_data_shichang.xlsx')
标签:loc,return,text,unit,res,解析,data,预处理,生态 来源: https://www.cnblogs.com/Cookie-Jing/p/15187252.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。