数据清洗代码 (主要对薪资进行清洗,统一以万/月为单位,并取区间平均值。)
时间: 2024-02-29 11:52:00 浏览: 18
好的,以下是一个Python的示例代码,用于对薪资进行清洗,统一以万/月为单位,并取区间平均值:
``` python
import pandas as pd
# 读取原始数据
df = pd.read_csv('data.csv')
# 去重
df.drop_duplicates(inplace=True)
# 处理缺失值
df.dropna(subset=['薪资'], inplace=True)
# 统一薪资单位
def convert_salary(salary):
if '千/月' in salary:
return float(salary.replace('千/月', '')) / 10
elif '万/年' in salary:
return float(salary.replace('万/年', '')) / 12
elif '元/天' in salary:
return float(salary.replace('元/天', '')) * 30 / 10000
else:
return float(salary.replace('万/月', ''))
df['薪资'] = df['薪资'].apply(convert_salary)
# 计算平均薪资
def calc_mean_salary(salary):
if '-' in salary:
s = salary.split('-')
return (float(s[0]) + float(s[1])) / 2
else:
return float(salary)
df['薪资'] = df['薪资'].apply(calc_mean_salary)
```
以上代码假设原始数据存储在名为"data.csv"的文件中,其中薪资列的数据格式可能为"X-X千/月"、"X万/年"、"X元/天"或"X万/月"。代码中的`convert_salary`函数用于将不同的薪资单位转化为万/月的形式,而`calc_mean_salary`函数则用于计算薪资区间的平均值。最终,代码将清洗后的数据存储在DataFrame对象`df`中的薪资列中。