先上结果:
定义转换函数代码:
def range2min(text):
if '千' in text:
text=text.replace('千','000')#替换中文为数字
if '万' in text:
text=text.replace('万','0000')
return text.split('-')[0]#提取-特定字符之前的数字
def range2max(text):
if '千' in text:
text=text.replace('千','000')
if '万' in text:
text=text.replace('万','0000')
if len(text.split('-'))>1:#判断确实是区间
return text.split('-')[1]#提取-特定字符之后的数字
else:
return text.split('-')[0]
然后应用函数到pandas
data['salary_min']=data['salary'].astype(str).apply(range2min)#对列应用自定义函数
data['salary_max']=data['salary'].astype(str).apply(range2max)
data
原本dataframe:
得到dataframe:
标签:salary,中文数字,return,python,text,replace,split,minmax,data From: https://www.cnblogs.com/ranxi169/p/16980887.html