计算出各年度各服务分类销售额数据的同比增长率
temp4 = pd.merge(task4[task4.loc[:, "年份"] == 2017], task4[task4.loc[:, "年份"] == 2018], how="inner", left_on = "服务分类", right_on = "服务分类") temp4 = pd.merge(temp4, task4[task4.loc[:, "年份"] == 2019] ,how="inner", left_on = "服务分类", right_on = "服务分类") temp4 = pd.merge(temp4, task4[task4.loc[:, "年份"] == 2020] ,how="inner", left_on = "服务分类", right_on = "服务分类") temp4.drop(["年份_x", "年份_y"], axis = 1, inplace=True) temp4.columns = ["服务分类", "2017利润", "2018利润", "2019利润", "2020利润"] temp4["2017-2018利润同比增长率"] = (temp2["2018利润"] - temp2["2017利润"]) / temp2["2017利润"] temp4["2018-2019利润同比增长率"] = (temp2["2019利润"] - temp2["2018利润"]) / temp2["2018利润"] temp4["2019-2020利润同比增长率"] = (temp2["2020利润"] - temp2["2019利润"]) / temp2["2019利润"] temp4.to_csv("./各年份各服务分类的利润同比增长率.csv") temp4
输出为:
1.2.1统计各地区,国家有关服务分类销售额和利润数据
job2 = salesData.loc[:, ["国家", "地区", "服务分类", "销售额", "利润"]] job2
输出为:
通过groupby函数对[“地区”, “国家”, “服务分类”]进行分组,分别求出"销售额"和”利润“的总和
a = job2.groupby(["地区", "国家", "服务分类"])["销售额"].sum() a
输出为:
b = job2.groupby(["地区", "国家", "服务分类"])["利润"].sum() b
输出为:
1.2.2展示各地区有关服务分类利润数据
合并销售额和利润
a = pd.DataFrame(a) b = pd.DataFrame(b) a["利润"] = b["利润"].values a.to_csv("./各地区各国家有关服务分类销售额和利润数据.csv") a
输出为:
1.3.1统计各个销售经理的成交合同数和成交率
salespersonData
输出为:
通过对列”销售经理“进行分组,求出”销售合同“的总和
set(salespersonData.loc[:, "销售经理"].values)
输出为:
total_sus = salespersonData.groupby(["销售经理"])["销售合同"].sum() total_sus
输出为:
因为“销售合同”为“已成交合同”。我们可以通过销售经理在某地区某日期的成就率,求出该时销售经理的总销售合同即以成交的合同和非成交的合同,再通过成交合同比上总合同数求出该经理的成交率:
job3 = salespersonData.loc[:, ["销售经理", "销售合同", "成交率"]] job3
输出为:
job3["合同数"] = job3["销售合同"] / job3["成交率"] job3["合同数"] = job3["合同数"].astype("int") job3
输出为:
total = job3.groupby(["销售经理"])["合同数"].sum() total
输出为:
man_rate = pd.concat([total, total_sus], axis = 1) man_rate
输出为:
man_rate["成交率"] = man_rate["销售合同"] / man_rate["合同数"] man_rate
输出为:
1.3.2展示销售经理成交合同数Top3的数据
通过sort_values函数对列"销售合同"进行排序
man_rate.sort_values("销售合同", ascending = False).head(3)
输出为:
man_rate.to_csv("./各经理的成交率.csv") man_rate
输出为:
1.4.1对数据进行预处理及编码, 给出明确的预测模型
对列”日期“进行处理,计算出该日期属于第几季度
# 获取年份列 year = salesData.loc[:, "日期"].astype("str").str.split("-", expand = True)[0] year
输出为:
# 获取月份 month = salesData.loc[:, "日期"].astype("str").str.split("-", expand = True)[1] month
输出为:
获得季度
quarter = [] for i in list(month.values): q = (int(i) - 1) // 3 + 1 quarter.append(q) " ".join([str(i) for i in quarter])
输出为:
year_quarter = salesData.loc[:, ["地区", "国家", "服务分类", "销售额", "利润"]] year_quarter["年度"] = year year_quarter["季度"] = quarter year_quarter
输出为: