利用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日

相关文章

  • python环境下安装opencv库的方法

    当在Python环境下需要使用到OpenCV库时,一般需要进行安装。下面是Python环境下安装OpenCV库的方法的详细攻略。 步骤一:安装Python 在安装OpenCV库之前,需要首先安装Python环境。可以从Python官网上下载适用于您计算机系统的Python版本。 步骤二:安装OpenCV库 OpenCV不是Python自带的库,所以需要安装。…

    python 2023年5月14日
    00
  • Python网络爬虫项目:内容提取器的定义

    Python网络爬虫项目:内容提取器是一个用于从HTML页面中提取有用信息的工具,它主要通过解析HTML文档,使用CSS选择器或XPath表达式来查找并提取需要的信息。下面是实现这一功能的攻略: 安装必要的Python库 在开始之前,需要安装一些必要的Python库,包括requests、beautifulsoup4、lxml等。可以使用pip命令在终端中进…

    python 2023年5月14日
    00
  • Mac安装python3的方法步骤

    下面是具体的步骤和示例说明: Mac安装Python3的方法步骤 1. 下载python3安装包 从官网 https://www.python.org/downloads/ 下载最新版的Python3安装包。 2. 打开安装包进行安装 双击下载好的安装包,点击“继续”按钮,依次点击“安装”、“继续”、“安装”按钮,输入管理员密码,等待安装完成。 3. 验证P…

    python 2023年6月2日
    00
  • Python 迭代,for…in遍历,迭代原理与应用示例

    Python迭代 在Python中,迭代是指访问集合中每个元素的过程,而集合可以是列表、元组、字典或其他可迭代对象。在Python中,有多种方法可以迭代集合中的元素,比如for…in循环、列表推导式、生成器等。其中,for…in循环是最常用的方法之一。 for…in循环遍历 for…in循环可以遍历任何可迭代对象中的所有元素。语法如下: fo…

    python 2023年5月14日
    00
  • 教你如何在Pycharm中导入requests模块

    以下是关于在Pycharm中导入requests模块的详细攻略: 在Pycharm中导入requests模块 requests是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。以下是在Pycharm中导入requests模块的详细攻略: 安装requests模块 在使用requests模块之前,需要先安装该模块。可以使用pip命令在命令行…

    python 2023年5月14日
    00
  • 详解用Python为图片添加填充物

    为了为图片添加填充物,我们可以使用Python中的Pillow库。Pillow库是Python中常用的图像处理库之一,提供了丰富的图像处理功能,包括图像缩放、旋转、遮罩、颜色调整等。 下面是用Python为图片添加填充物的完整攻略: 步骤1:安装Pillow库 在开始之前,需要先安装Pillow库。可以通过pip命令来安装它: pip install Pil…

    python-answer 2023年3月25日
    00
  • Python subprocess模块功能与常见用法实例详解

    Python subprocess模块功能与常见用法实例详解 Python subprocess模块是一个用于创建新进程的模块,可以用于执行外部命令、调用其他程序等。在本文中,我们将详细讲解subprocess模块的功能和常见用法,并提供两个示例,以便更好地理解这个模块。 subprocess模块的功能 subprocess模块提供了一种创建新进程的方法,可…

    python 2023年5月15日
    00
  • Pandas实现自定义Excel格式并导出多个sheet表

    首先我们需要明确两个概念:Pandas和Excel。 Pandas是Python中一种常用的数据处理库,而Excel是一种电子表格软件,可用于数据分析和可视化。在这个教程中,我们将使用Pandas来处理数据,并将数据以Excel格式导出。 下面是一个基本的示例代码,演示了如何使用Pandas创建一个Excel文件,并写入一些数据: import pandas…

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