parent
b5088a556d
commit
f8a21e7217
@ -0,0 +1,352 @@
|
||||
import pandas as pd
|
||||
import warnings
|
||||
|
||||
warnings.filterwarnings('ignore')
|
||||
df = pd.read_csv("./python.csv")
|
||||
df = df.drop_duplicates() # 去除重复数据
|
||||
# 公司
|
||||
num = ['50-150人', '150-500人', '1000-5000人', '少于50人', '500-1000人', '10000人以上', '5000-10000人']
|
||||
for i in df['公司人数']:
|
||||
if i not in num:
|
||||
index_ = df[df['公司人数'] == i].index
|
||||
df.drop(index=index_, inplace=True)
|
||||
|
||||
map_dict = {'上海市': ['上海'],
|
||||
'云南省': ['昆明',
|
||||
'曲靖',
|
||||
'玉溪',
|
||||
'昭通地',
|
||||
'楚雄彝族自治州',
|
||||
'红河哈尼族彝族自治州',
|
||||
'文山壮族苗族自治州',
|
||||
'思茅',
|
||||
'西双版纳傣族自治州',
|
||||
'大理白族自治州',
|
||||
'保山地',
|
||||
'德宏傣族景颇族自治州',
|
||||
'丽江地',
|
||||
'怒江傈僳族自治州',
|
||||
'迪庆藏族自治州',
|
||||
'临沧地', "楚雄", "大理"],
|
||||
'内蒙古自治区': ['呼和浩特',
|
||||
'包头',
|
||||
'乌海',
|
||||
'赤峰',
|
||||
'呼伦贝尔',
|
||||
'兴安盟',
|
||||
'通辽',
|
||||
'锡林郭勒盟',
|
||||
'乌兰察布盟',
|
||||
'伊克昭盟(鄂尔多斯旧称)',
|
||||
'巴彦淖尔盟',
|
||||
'阿拉善盟'],
|
||||
'北京市': ['北京'],
|
||||
'台湾省': ['台湾', '台北', '高雄', '基隆', '台中', '台南', '新竹', '嘉义'],
|
||||
'吉林省': ['长春', '吉林', '四平', '辽源', '通化', '白山', '松原', '白城', '延边朝鲜族自治州'],
|
||||
'四川省': ['成都',
|
||||
'自贡',
|
||||
'攀枝花',
|
||||
'泸州',
|
||||
'德阳',
|
||||
'绵阳',
|
||||
'广元',
|
||||
'遂宁',
|
||||
'内江',
|
||||
'乐山',
|
||||
'南充',
|
||||
'宜宾',
|
||||
'广安',
|
||||
'达川地',
|
||||
'雅安地',
|
||||
'阿坝藏族羌族自治州',
|
||||
'甘孜藏族自治州',
|
||||
'凉山彝族自治州',
|
||||
'巴中地',
|
||||
'眉山地',
|
||||
'资阳地'],
|
||||
'天津市': ['天津'],
|
||||
'宁夏回族自治区': ['银川', '石嘴山', '吴忠', '固原地', '中 卫 '],
|
||||
'安徽省': ['合肥',
|
||||
'芜湖',
|
||||
'蚌埠',
|
||||
'淮南',
|
||||
'马鞍山',
|
||||
'淮北',
|
||||
'铜陵',
|
||||
'安庆',
|
||||
'黄山',
|
||||
'滁州'
|
||||
'阜阳',
|
||||
'宿州',
|
||||
'六安',
|
||||
'宣城',
|
||||
'巢湖',
|
||||
'池州', '亳州'],
|
||||
'山东省': ['济南',
|
||||
'青岛',
|
||||
'淄博',
|
||||
'枣庄',
|
||||
'东营',
|
||||
'烟台',
|
||||
'潍坊',
|
||||
'济宁',
|
||||
'泰安',
|
||||
'威海',
|
||||
'日照',
|
||||
'莱芜',
|
||||
'临沂',
|
||||
'德州',
|
||||
'聊城',
|
||||
'滨州地',
|
||||
'菏泽地'],
|
||||
'山西省': ['太原', '大同', '阳泉', '长治', '晋城', '朔州', '忻州', '吕梁', '晋中', '临汾', '运城'],
|
||||
'广东省': ['广州',
|
||||
'韶关',
|
||||
'深圳',
|
||||
'珠海',
|
||||
'汕头',
|
||||
'佛山',
|
||||
'江门',
|
||||
'湛江',
|
||||
'茂名',
|
||||
'肇庆',
|
||||
'惠州',
|
||||
'梅州',
|
||||
'汕尾',
|
||||
'河源',
|
||||
'阳江',
|
||||
'清远',
|
||||
'东莞',
|
||||
'中山',
|
||||
'潮州',
|
||||
'揭阳',
|
||||
'云浮',
|
||||
'广东', '广东省'],
|
||||
'广西壮族自治区': ['南宁',
|
||||
'柳州',
|
||||
'桂林',
|
||||
'梧州',
|
||||
'北海',
|
||||
'防城港',
|
||||
'钦州',
|
||||
'贵港',
|
||||
'玉林',
|
||||
'崇左',
|
||||
'来宾',
|
||||
'贺州',
|
||||
'百色',
|
||||
'河池'],
|
||||
'新疆维吾尔自治区': ['乌鲁木齐',
|
||||
'克拉玛依',
|
||||
'吐鲁番地',
|
||||
'哈密地',
|
||||
'昌吉回族自治州',
|
||||
'博尔塔拉蒙古自治州',
|
||||
'巴音郭楞蒙古自治州',
|
||||
'阿克苏地',
|
||||
'克孜勒苏柯尔克孜自治州',
|
||||
'喀什地',
|
||||
'和田地',
|
||||
'伊犁哈萨克自治州',
|
||||
'塔城地',
|
||||
'阿勒泰地',
|
||||
'省直辖行政单位'],
|
||||
'江苏省': ['南京',
|
||||
'无锡',
|
||||
'徐州',
|
||||
'常州',
|
||||
'苏州',
|
||||
'南通',
|
||||
'连云港',
|
||||
'淮安(原淮阴)',
|
||||
'盐城',
|
||||
'扬州',
|
||||
'镇江',
|
||||
'泰州',
|
||||
'宿迁',
|
||||
'常熟', '太仓', '昆山', '淮安'],
|
||||
'江西省': ['南昌', '景德镇', '萍乡', '九江', '新余', '鹰潭', '赣州', '宜春', '上饶', '吉安', '抚州'],
|
||||
'河北省': ['石家庄', '唐山', '秦皇岛', '邯郸', '邢台', '保定', '张家口', '承德', '沧州', '廊坊', '衡水'],
|
||||
'河南省': ['郑州',
|
||||
'开封',
|
||||
'洛阳',
|
||||
'平顶山',
|
||||
'安阳',
|
||||
'鹤壁',
|
||||
'新乡',
|
||||
'焦作',
|
||||
'濮阳',
|
||||
'许昌',
|
||||
'漯河',
|
||||
'三门峡',
|
||||
'南阳',
|
||||
'商丘',
|
||||
'信阳',
|
||||
'周口',
|
||||
'驻马店地',
|
||||
'省直辖行政单位'],
|
||||
'浙江省': ['杭州', '宁波', '温州', '嘉兴', '湖州', '绍兴', '金华', '衢州', '舟山', '台州', '丽水', "义乌", "浙江省"],
|
||||
'海南省': ['省直辖行政单位', '海口', '三亚'],
|
||||
'湖北省': ['武汉',
|
||||
'黄石',
|
||||
'十堰',
|
||||
'宜昌',
|
||||
'襄樊',
|
||||
'襄阳',
|
||||
'鄂州',
|
||||
'荆门',
|
||||
'孝感',
|
||||
'荆州',
|
||||
'黄冈',
|
||||
'咸宁',
|
||||
'随州',
|
||||
'恩施土家族苗族自治州',
|
||||
'省直辖行政单位', '湖北省', "仙桃"],
|
||||
'湖南省': ['长沙',
|
||||
'株洲',
|
||||
'湘潭',
|
||||
'衡阳',
|
||||
'邵阳',
|
||||
'岳阳',
|
||||
'常德',
|
||||
'张家界',
|
||||
'益阳',
|
||||
'郴州',
|
||||
'永州',
|
||||
'怀化',
|
||||
'娄底地',
|
||||
'湘西土家族苗族自治州'],
|
||||
'澳门特别行政区': ['澳门'],
|
||||
'甘肃省': ['兰州',
|
||||
'嘉峪关',
|
||||
'金昌',
|
||||
'白银',
|
||||
'天水',
|
||||
'酒泉地',
|
||||
'张掖地',
|
||||
'武威地',
|
||||
'定西地',
|
||||
'陇南地',
|
||||
'平凉地',
|
||||
'庆阳地',
|
||||
'临夏回族自治州',
|
||||
'甘南藏族自治州'],
|
||||
'福建省': ['福州', '厦门', '宁德', '莆田', '泉州', '漳州', '龙岩', '三明', '南平', '福建省'],
|
||||
'西藏自治区': ['拉萨', '昌都地', '山南地', '日喀则地', '那曲地', '阿里地', '林芝地'],
|
||||
'贵州省': ['贵阳',
|
||||
'六盘水',
|
||||
'遵义',
|
||||
'铜仁地',
|
||||
'黔西南布依族苗族自治州',
|
||||
'毕节地',
|
||||
'安顺地',
|
||||
'黔东南苗族侗族自治州',
|
||||
'黔南布依族苗族自治州'],
|
||||
'辽宁省': ['沈阳',
|
||||
'大连',
|
||||
'鞍山',
|
||||
'抚顺',
|
||||
'本溪',
|
||||
'丹东',
|
||||
'锦州',
|
||||
'营口',
|
||||
'阜新',
|
||||
'辽阳',
|
||||
'盘锦',
|
||||
'铁岭',
|
||||
'朝阳',
|
||||
'葫芦岛'],
|
||||
'重庆市': ['重庆'],
|
||||
'陕西省': ['西安', '铜川', '宝鸡', '咸阳', '渭南', '延安', '汉中', '安康地', '商洛地', '榆林地'],
|
||||
'青海省': ['西宁',
|
||||
'海东地',
|
||||
'海北藏族自治州',
|
||||
'黄南藏族自治州',
|
||||
'海南藏族自治州',
|
||||
'果洛藏族自治州',
|
||||
'玉树藏族自治州',
|
||||
'海西蒙古族藏族自治州'],
|
||||
'香港特别行政区': ['香港'],
|
||||
'黑龙江省': ['哈尔滨',
|
||||
'齐齐哈尔',
|
||||
'鸡西',
|
||||
'鹤岗',
|
||||
'双鸭山',
|
||||
'大庆',
|
||||
'伊春',
|
||||
'七台河',
|
||||
'牡丹江',
|
||||
'黑河',
|
||||
'绥化',
|
||||
'大兴安岭地', '佳木斯']}
|
||||
|
||||
df['公司地址'] = df['公司地址'].apply(lambda x: x.split('·')[0])
|
||||
|
||||
df['省份'] = df['公司地址'].apply(lambda x: x.split('·')[0])
|
||||
index_ = df['公司地址'].apply(lambda x: x.split('·')[0]).value_counts().index
|
||||
|
||||
|
||||
# 根据map_dict
|
||||
def map(area):
|
||||
for j in map_dict:
|
||||
if area in map_dict[j]:
|
||||
return j
|
||||
|
||||
|
||||
df['省份'] = df['省份'].apply(lambda x: map(x))
|
||||
df['省份'].isnull().sum()
|
||||
|
||||
abnormal = ['元/月', '千/年', '千/天', '千/日', '万/日', '万/天']
|
||||
normal = ['万/月', '千/月', '万/年', '元/天']
|
||||
df['工资'] = df['工资'].apply(lambda x: x.split('·')[0])
|
||||
for i in abnormal:
|
||||
index = df[df['工资'].str.contains(i)]['工资'].index
|
||||
df.drop(index=index, inplace=True)
|
||||
for i in normal:
|
||||
index = df[df['工资'].str.contains(i)]['工资'].index
|
||||
print(index)
|
||||
df.drop(index=index, inplace=True)
|
||||
|
||||
df['工资1'] = df['工资'].apply(lambda x: x.split("-"))
|
||||
df['工资1'] = df['工资1'].astype('str')
|
||||
for i in df['工资1']:
|
||||
if len(eval(i)) < 2:
|
||||
index = df[df['工资1'] == i].index
|
||||
df.drop(index=index, inplace=True)
|
||||
df['工资1'] = df['工资1'].apply(lambda x: eval(x))
|
||||
|
||||
low_list = []
|
||||
height_list = []
|
||||
for i in df['工资1'].values:
|
||||
low = i[0]
|
||||
height = i[1]
|
||||
if low[-1] == '千':
|
||||
low1 = float(low[:-1]) * 1000
|
||||
elif low[-1] == '万':
|
||||
low1 = float(low[:-1]) * 10000
|
||||
else:
|
||||
|
||||
if height[-1] == '千':
|
||||
low1 = float(low) * 1000
|
||||
else:
|
||||
low1 = float(low) * 10000
|
||||
if height[-1] == '千':
|
||||
height1 = float(height[:-1]) * 1000
|
||||
elif height[-1] == '万':
|
||||
height1 = float(height[:-1]) * 10000
|
||||
|
||||
low_list.append(low1)
|
||||
height_list.append(height1)
|
||||
|
||||
df['最低工资'] = low_list
|
||||
df['最高工资'] = height_list
|
||||
# 学历
|
||||
education = ['本科', '大专', '硕士', '博士', '中技/中专']
|
||||
for i in df['学历']:
|
||||
if i not in education:
|
||||
index_ = df[df['学历'] == i].index
|
||||
df.drop(index=index_, inplace=True)
|
||||
|
||||
print(df.shape)
|
||||
del df["工资1"]
|
||||
df.to_csv("./data_clean.csv", index=False)
|
||||
Loading…
Reference in new issue