取)。 代码如下: 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() [2024-06-30 15:56:50 | AI写代码神器 | 1539点数解答]