ADD file via upload

master
p3gsryuwh 3 years ago
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…
Cancel
Save