利用Python实现岗位的分析报告

利用Python实现岗位的分析报告是一个基于数据分析的任务,需要按照以下步骤进行:

1. 收集数据

收集数据是实现报告的第一步,需要从合适的渠道获取所需的数据。其中,常用的数据源包括:

  • 爬虫:可以通过scrapy等爬虫框架获取数据源,如boss直聘等招聘网站的招聘信息等。
  • API:若所需数据源具有开放API接口,我们可以根据接口文档和调用方式,利用requests等库通过API获取。
  • 数据库:如果数据已经存在于数据库中,我们可以使用ORM框架例如sqlalchemy,进行数据查询和导出。

2. 数据清洗

数据清洗是每一个数据分析项目的必要工作。可以使用pandas等数据框架来进行数据的清洗和预处理。具体需要进行的工作包括:

  • 数据去重:判断数据是否有重复项,若有则删除。
  • 缺失值填充:判断数据是否有缺失值,若有则进行填充,可选择填充平均值、中位数等。
  • 数据类型转换:将字符型数据转化为数值型数据。

3. 数据分析

数据清洗完后,就能进行数据分析。数据分析可使用pandas等数据框架进行。常用的数据分析方式有:

  • 统计数量:计算薪水最高/最低/平均值,公司数量等数量上的统计分析。
  • 可视化分析:使用matplotlib、seaborn等可视化库,将数据绘制成条形图、折线图、热力图等各式各样的图表,以便于进行更直观的数据分析。

4. 结论与报告

在完成数据分析后,我们可以根据数据的分析结果,得出相关结论,并根据需要转换为报告。报告可以以图表、表格等形式展示,也可以进行文本描述,更可选择使用markdown等文件格式来展示分析过程中的代码及结果。

示例1

以下是一个实例:我们从boss直聘中获取了python工程师的招聘信息。我们可以使用pandas对数据进行清洗和分析,并使用matplotlib进行可视化。

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
df = pd.read_csv('boss_python.csv')

# 数据清洗
df.drop_duplicates(inplace=True)
df.dropna(inplace=True)
df['salary_min'] = df['salary'].apply(lambda x: int(x.split('-')[0]))
df['salary_max'] = df['salary'].apply(lambda x: int(x.split('-')[1][:-1]))
df['salry_mean'] = (df['salary_min'] + df['salary_max']) / 2
df = df[['company_name', 'work_name', 'work_year', 'education', 'city', 'salary_min', 'salary_max', 'salry_mean', 'welfare', 'work_addr']]

# 数据统计分析
city_df = pd.DataFrame(df['city'].value_counts())
salary_min_df = df.groupby(['city'])['salary_min'].mean()
salary_max_df = df.groupby(['city'])['salary_max'].mean()
salry_mean_df = df.groupby(['city'])['salry_mean'].mean()

# 可视化分析
city_df.plot(kind='bar')
plt.title('Python工程师岗位城市分布')
plt.show()

salary_min_df.plot(kind='bar')
plt.title('Python工程师岗位最低工资')
plt.show()

salary_max_df.plot(kind='bar')
plt.title('Python工程师岗位最高工资')
plt.show()

salry_mean_df.plot(kind='bar')
plt.title('Python工程师岗位平均工资')
plt.show()

示例2

以下是另一个实例,我们借助爬虫工具和pandas,从智联招聘中获取大数据工程师的招聘信息,对其进行统计分析。

import requests
from lxml import etree
import pandas as pd
import matplotlib.pyplot as plt    

url = 'https://fe-api.zhaopin.com/c/i/sou'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Safari/537.36'
}
# 爬虫获取数据
def get_data(page):
    params = {
        'pageSize': '90',
        'cityId': '538',
        'workExperience': '-1',
        'education': '-1',
        'companyType': '-1',
        'employmentType': '-1',
        'jobWelfareTag': '-1',
        'kw': '大数据工程师',
        'kt': '3',
        'lastUrlQuery': '{"p":' + str(page) + ',"pageSize":"90","jl":"538"}',
        'showId': 'af3484d9e633491ea862abf2bd618ddb',
        'page': page
    }
    res = requests.get(url, headers=headers, params=params)
    data = res.json()
    return data['data']['results']

df = pd.DataFrame()
for page in range(1, 6):
    data = get_data(page)
    page_df = pd.DataFrame(data)
    df = pd.concat([df, page_df])

df.to_csv('zhilian_bigdata.csv')

# 数据清洗
df.drop_duplicates(inplace=True)
df.dropna(inplace=True)
df['salary_min'] = df['salary'].apply(lambda x: int(x.split('-')[0]))
df['salary_max'] = df['salary'].apply(lambda x: int(x.split('-')[1][:-4]))
df['salry_mean'] = (df['salary_min'] + df['salary_max']) / 2
df = df[['company', 'jobName', 'workingExp', 'eduLevel', 'city', 'salary_min', 'salary_max', 'salry_mean', 'welfare', 'emplType']]

# 数据统计分析
city_df = pd.DataFrame(df['city'].value_counts())
salary_min_df = df.groupby(['city'])['salary_min'].mean()
salary_max_df = df.groupby(['city'])['salary_max'].mean()
salry_mean_df = df.groupby(['city'])['salry_mean'].mean()

# 可视化分析
city_df.plot(kind='bar')
plt.title('大数据工程师岗位城市分布')
plt.show()

salary_min_df.plot(kind='bar')
plt.title('大数据工程师岗位最低工资')
plt.show()

salary_max_df.plot(kind='bar')
plt.title('大数据工程师岗位最高工资')
plt.show()

salry_mean_df.plot(kind='bar')
plt.title('大数据工程师岗位平均工资')
plt.show()

以上两个实例,分别从boss直聘和智联招聘中获取工程师岗位数据,并通过pandas、matplotlib等工具进行数据处理和分析,并使用可视化图表展示分析结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用Python实现岗位的分析报告 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • 爬虫逆向抖音新版signature分析案例

    爬虫逆向抖音新版signature分析攻略 一、前言 最近,抖音更新了其加密signature算法,许多爬虫开发者遇到了无法获取数据的困境,本篇文章将详细讲解如何逆向抖音新版signature。 二、分析过程 1. 分析 signature 首先,我们需要分析抖音使用的 signature 算法。抖音更新后,使用的 JS 程序进行加密,我们需要通过反编译AP…

    python 2023年6月3日
    00
  • python常用运维脚本实例小结

    以下是完整的“Python常用运维脚本实例小结”的攻略: 1. 简介 本文主要讲解Python运维脚本,包括如何使用Python编写常用的运维脚本,如系统监控、日志管理、数据库管理等,帮助运维人员更好地管理和维护系统。 2. 实例1:系统监控脚本 系统监控脚本是运维人员必备的工具,它可以让我们随时了解系统的状态,及时发现和解决问题。以下是一个简单的系统监控脚…

    python 2023年5月30日
    00
  • 人工神经网络算法知识点总结

    以下是关于“人工神经网络算法知识点总结”的完整攻略: 简介 人工神经网络是一种模拟人脑神经系统的计算模型,它可以用于分类、回归、聚类等任务。在本教程中,我们将介绍人工神经网络算法的知识点,包括神经元、激活函数、前向传播、反向传播等。 神经元 神经元是人工神经网络的基本单元,它接收输入信号并产生输出信号。神经元通常由多个输入和一个输出组成,每个输入都有一个权重…

    python 2023年5月14日
    00
  • python实现从文件中读取数据并绘制成 x y 轴图形的方法

    下面我将为您详细讲解如何使用Python从文件中读取数据并绘制成XY轴图形的方法。整个过程可以分为以下几步: 读取数据文件 我们可以使用Python内置的open函数打开文件,然后使用readline()或readlines()方法读取整个文件或一行一行地读取文件中的数据。假设数据文件是一个.csv文件,它被存储在项目文件夹中的data子文件夹下,我们可以使…

    python 2023年6月3日
    00
  • python中执行smtplib失败的处理方法

    当Python使用smtplib库连接邮件服务器发送邮件时,可能会遇到一些错误,例如SMTP身份验证失败、连接超时等。以下是Python中执行smtplib失败的处理方法的攻略: 1. 检查SMTP设置是否正确 在使用smtplib连接邮件服务器时,必须提供正确的SMTP服务器、SMTP端口、用户名和密码等信息。首先需要检查这些信息是否正确,包括SMTP服务…

    python 2023年5月13日
    00
  • Jupyter导入自定义模块及导入后TypeError错误问题及解决

    在Jupyter中导入自定义模块时,需要注意几个问题,本攻略将会详细讲解这些问题及解决方法。 1. 添加自定义模块目录到sys.path 在导入自定义模块时,我们需要先将自定义模块目录添加到sys.path环境变量中,否则Python解释器会无法找到目标模块。可以通过以下方法来添加自定义模块目录: import sys sys.path.append(‘/p…

    python 2023年5月13日
    00
  • python中@符号实例详解

    Python中@符号实例详解 1. 装饰器 @符号在Python中常用于装饰器,在函数定义前使用,用于修饰函数,改变函数的行为,如添加日志、计时器等等。 下面是一个简单的装饰器示例: def log(func): def wrapper(*args, **kw): print(‘call %s():’ % func.__name__) return func…

    python 2023年5月31日
    00
  • Python读取Excel一列并计算所有对象出现次数的方法

    关于“Python读取Excel一列并计算所有对象出现次数的方法”,以下是一些完整的攻略: 步骤1:安装pandas库 在Python中,我们可以使用pandas库来处理Excel文件。所以,首先需要安装pandas库。可以使用以下命令来进行安装: pip install pandas 步骤2:读取Excel文件 在Python中,可以使用pandas库中的…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部