小项目-数据处理篇:pandas进行工作相关数据清洗

本文通过pandas进行数据清洗,包括去除重复的工作地址和公司,筛选合适的工作(排除非Python职位),处理异常值,以及根据工作、公司、职位要求等进行评分,以找到匹配的工作。使用高德API获取地址坐标,天眼查API获取公司信息,并进行数据整合。
摘要由CSDN通过智能技术生成

先看看我们今天要处理的数据,爬取的成果:
这里写图片描述
工作信息7000多条
这里写图片描述
租房信息差不多6w条
本章任务:
1、去重工作地址,获取地址坐标(高德)
2、去重公司,获取公司情况
3、工作筛选,由于智联上爬取的工作,好多事工作内容里有python,只用python谢谢脚本啥的,实际标题上找的是java啊,php啊,这样的工作要删掉
4、剔除数据异常值,过大过小,NA值
5、工作根据,工作,公司情况,工作内容,技能要求等进行评分,目的是找到适合我的工作

开整:
先导入数据看一下

import pandas as pd
import numpy as np
import pymongo
client = pymongo.MongoClient("mongodb://XX:XXXXX@192.168.3.7:2018",connect=False)
db = client["test"]
table = db["python"]
df = pd.DataFrame(list(table.find()))
del df["_id"]
df.head()

这样事儿的:
这里写图片描述

根据工作名称剔除掉不适合我的工作:带java,php,web,C,C++这种

name_ban = ["linux","php","Linux","PHP","JAVA","java","Java","DBA","运维","web","WEB","实习生","C","C++","培训","R","Golang"]

差不多这些吧,应用apply 把标题中含有这些的换成na ,然后drop

def ban_name(job_name):
    name_ban = ["linux","php","Linux","PHP","JAVA","java","Java","DBA","运维","web","WEB","实习生","C","C++","培训","R","Golang"]
    if any(x in job_name for x in ["python","Python"]):
        pass
    else:
        if any(x in job_name for x in name_ban):
            job_name = np.nan
    return job_name

df["job_name"] = df["job_name&
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值