杀虫市场分析(2)
# 预配置,详情请看(1)
import numpy as np
import pandas as pd
import os
import glob
import matplotlib.pyplot as plt
import matplotlib.style as style
import seaborn as sns
import warnings
import datetime
#配置项 (配置画布)
warnings.filterwarnings("ignore")
style.use("fivethirtyeight")
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
plt.rcParams["figure.figsize"] = (14,8)
#科学计数法
np.set_printoptions(suppress=True)
pd.set_option("display.float_format",lambda x : "%.3f"%x)
#切目录
os.chdir("./data/杀虫/驱虫剂市场")
filenames = glob.glob("*市场近三年交易额.xlsx") #文件名
dfs = []
for f in filenames:
df = pd.read_excel(f)
if df["时间"].dtype == "int64":
df["时间"] = pd.to_datetime(df["时间"],unit="D",origin=pd.Timestamp("1899-12-30"))
df = df.set_index("时间")
df.columns = [f.split("市场")[0] + "交易金额"]
dfs.append(df)
df = pd.concat(dfs,axis=1)
市场的总体情况
总体市场分析
df = df.reset_index()
df["年份"] = df["时间"].dt.year
byyear = df.groupby("年份").sum()
byyear["总体份额"] = byyear.sum(axis=1)
byyear
byyear.总体份额.plot(title="近四年的灭鼠杀虫的市场增长趋势",c='r',marker="o",markersize=20,markerfacecolor="orange")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQIh28v0-1627362164291)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1626871987150.png)]
细分市场趋势
byyear.iloc[:,:-1].plot(marker='8',markersize='10')
#8张图
i=1
plt.figure(figsize=(2*10,4*6.18))
for c in byyear.columns:
axes = plt.subplot(2,4,i)
sns.barplot(data=byyear.reset_index().loc[:,["年份",c]],x="年份",y=c,ax=axes)
sns.pointplot(data=byyear.reset_index().loc[:,["年份",c]],x="年份",y=c,ax=axes)
axes.set_title(c)
for x,y in zip(range(len(byyear.index)),byyear[c]):
plt.text(x=x,y=y-y+100,s=round(y,2),rotation=90,size=20)
i+=1
每个细分市场的份额占比
byyear_rate = byyear.div(byyear["总体份额"],axis=0).iloc[:,:-1]
byyear_rate.plot(kind='bar',stacked=True,colormap="rainbow")
plt.legend(loc=[1,0])
plt.title("细分市场的份额占比")
年度增长率
from copy import deepcopy
by_ = deepcopy(byyear)
by_.index=by_.index+1
#(后年 - 前年)/前年
rate = byyear.diff().dropna() / by_.iloc[:-1]
rate
rate.plot(kind="bar")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3A4rfJyd-1627362164303)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1626872306138.png)]
byyear.pct_change()
市场集中度
交易指数 : 订单数 买家数 支付件数 支付金额
df = pd.read_excel("top100品牌数据.xlsx")
#交易指数比
df["交易指数比"] = df["交易指数"].div(df["交易指数"].sum())
plt.figure(figsize=(30,10))
sns.barplot(data=df,x="品牌",y="交易指数比")
a=plt.xticks(rotation=90)
#赫芬达尔-赫希曼指数表示市场不集中
np.sum(df["交易指数比"]**2)
0.013546334007208918
远远小于1,说明市场没有垄断倾向
前80后20(80/20)
#top20%
top20 = df.loc[df["交易指数"]>= df["交易指数"].quantile(0.8),"交易指数"].sum()
last80 = df.loc[df["交易指数"]< df["交易指数"].quantile(0.8),"交易指数"].sum()
#画图
plt.pie([top20,last80],autopct="%.2f%%",wedgeprops=dict(width=0.5))
plt.legend(labels=["top20","last80"])
[外链图片转存中...(img-w4V9yoc6-1627362164310)]
**金额前20%的人占了39.71%,占了大半的市场,在经营和管理应该抓住关键的少数顾客精确定位加强服务**