用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析
取)。 代码如下: 1. # 使用pandas库读取数据“data.csv”,展示其前5行数据。 import pandas as pd data = pd.read_csv("data.csv") print(data.head(5)) 2. # 对数据进行探索,查看数据类型、缺失值以及数据基本的数值统计详细信息。 print(data.info()) print(data.describe()) 3. # 对数据data日期格式数据做日期转换。 data["date"] = pd.to_datetime(data["date"]) 4. # 查看data信息统计情况。 # (1)查看发布信息中所在城市city的岗位数量统计信息,统计信息较多的前五名城市。 city_count = data.groupby("city")["positionName"].count().sort_values(ascending=False) print(city_count.head(5)) # (2)保留学历是本科和大专的信息. data = data.loc[data["education"].isin(["本科", "大专"])] # (3)修改“district”列,如“高新区”,需要改成“成都-高新区” data["district"] = data["district"].apply(lambda x: "成都-" + x if x != "-" else "-") # (4)找出"positionadvantage”职位优势这一列中有“双休”条件的信息,在所有发布的信息中的占比,保留2位小数。 positionadvantage = data["positionAdvantage"].str.contains("双休").value_counts(normalize=True) print("占比:%.2f" % positionadvantage[True]) # (5)根据“salary”工资列,新增最低工资和最高工资两列,列名分别设置为“最低工资”和“最高工资” data[["minSalary", "maxSalary"]] = data["salary"].str.extract(r'(\d+)k-(\d+)k').astype("int") data["maxSalary"] = data["maxSalary"] * 1000 data["minSalary"] = data["minSalary"] * 1000 5. # 对数据data作统计分析 # (1)统计分析各城市数量分布图 import matplotlib.pyplot as plt plt.style.use("ggplot") city_count.plot(kind="bar", rot=0, figsize=(8, 6)) plt.title("各城市职位数量") plt.show() # (2)学历占比图 edu_counts = data["education"].value_counts() plt.pie(edu_counts, labels=edu_counts.index, autopct="%.2f%%") plt.title("学历占比") plt.show() # (3)通过学历分析图,给出你对发布情况的分析结论。 edu_group = data.groupby("education") edu_salary_mean = edu_group[["minSalary", "maxSalary"]].mean() edu_salary_mean.plot(kind="bar", rot=0, figsize=(8, 6)) plt.title("学历平均薪资") plt.show() # 结论:随着学历增加,平均薪资也会相应上涨。 # (4)统计每一天发布的数量图,按天来统计(提示:需要先将时间按每天来取)。 data["day"] = data["date"].dt.day daily_count = data.groupby("day")["positionName"].count() daily_count.plot(kind="bar", rot=0, figsize=(8, 6)) plt.title("每日职位发布数量") plt.show() ######[AI写代码神器 | 1539点数解答 | 2024-06-30 15:56:50]
- Java代码实现从JSON数据中提取ID,涉及“数据”与“项目 - 知识库”结构(字节豆包 | 603点数解答 | 2025-04-15 22:48:51)234
- C++ 实现:计算一排鹅与最高、最矮鹅的身高差及代码详解(字节豆包 | 549点数解答 | 2025-11-16 20:19:06)79
- 编程揭秘:计算 𝑛! 在 𝑃 进制下末尾零个数的方法与代码实现(DeepSeek | 549点数解答 | 2026-01-11 17:49:54)46
- Python 处理 SWE 与降水数据:融雪量数据部分月份为空原因探究(字节豆包 | 78点数解答 | 2025-05-07 12:37:09)164
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)274
- 工程师必知!Monkey 流程助力软件稳定性与可靠性提升(百度文心 | 388点数解答 | 2023-11-09 18:28:07)282
- 工程师揭秘:重要 APP 从需求到上线全流程攻略(百度文心 | 334点数解答 | 2023-11-09 18:31:47)282
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)305
- Visual C++ 6.0:实现 n×n 矩阵最大最小元素所在行对调及输出(字节豆包 | 648点数解答 | 2024-11-02 10:23:57)308
- 洛谷:根据邮件重量与加急情况精准计算邮费(字节豆包 | 88点数解答 | 2024-11-09 15:33:30)401
- Python实现:根据邮件重量与加急选择精准计算邮费(阿里通义 | 554点数解答 | 2024-11-09 15:34:05)401
- GEE代码实现:三年Landsat逐月数据处理,计算NDVI、MNDWI及PWTMI指数(GPT | 1616点数解答 | 2024-11-26 19:55:20)237