怎么把number这一列的数据换成平均值啊
问题描述:
????????????
答
是全部吗,这样子做一下试试
假设你的dataframe名字是frame
meanvalue=frame['number'].mean()
frame['number']=[meanvalue]*len(frame)
答
import re
def f(x):
number=re.findall(r'\d+',x)#正则表达式识别金额(有可能是1,有可能是2,具体看这个工资有没有范围)
if not number:
return x#没有匹配到数字,则返回原始x值(比如面议)
else:
transfer=[float(each) for each in number]#把识别到的数字转换为浮点型(如果工资有小数点的话就这么做)
average=sum(transfer)/len(transfer)#求平均值
string='%.1f元/月'%average if int(average)!=average else '%d元/月'%average#if int(average)!=average:average不是整数
return string
frame['salary']=frame['salary'].apply(f)#用apply对salary这一列每个元素(相当于x)用f函数进行处理