对比分析
对比分析是指把两个相互联系的指标精选比较,从数量上展示和说明研究对象规模的大小,水平高低,速度快慢,以及各种关系是否协调。特别适用于指标间的横纵向比较
绝对数比较
绝对数比较是利用绝对数进行对比,从而寻找差异的一种方法
- 绝对数比较实例分析
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ["SimHei"] # 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号
# 随机数,创建连续30天内A/B产品的日销售额
data = pd.DataFrame(np.random.rand(30,2)*1000,
columns = ["A_sale","B_sale"],
index = pd.period_range('20170601',"20170630"))
# 折线图划分
data.plot(kind='line',
style = '--',
alpha = 0.6,
figsize=(10,3),
title = "AB产品销量对比图")
plt.legend(loc =True)
plt.grid(True)
相对数比较
相对数比较是由两个有联系的指标对比计算的用以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。
-
结构相对数分析:将同一总体内的部分数值和全部数值对比求得比重,用以说明事物的性质、结构或质量
- 实例分析
# 随机数,创建连续30天内A/B产品的日销售额 data = pd.DataFrame({"A_sale":np.random.rand(30)*1000, "B_sale":np.random.rand(30)*200}, index = pd.period_range('20170601',"20170630")) data["A_per"] = data["A_sale"]/data['A_sale'].sum() data["B_per"] = data["B_sale"]/data['B_sale'].sum() fig,axes = plt.subplots(2,1,figsize=(10,6),sharex=True) data[["A_sale","B_sale"]].plot(kind='line',style='--',alpha=0.6,ax=axes[0]) axes[0].legend(loc='upper right') data[["A_per","B_per"]].plot(kind='line',style='--',alpha=0.6,ax=axes[1]) axes[1].legend(loc='upper right')
-
比例相对数分析:在分组的基础上,将总体不同部分的指数数值进行对比,其相对指标一般称为”比例相对数“
比例相对数 = 总体中某一部分数值 / 总体中另一部分数值
如 基本建设投资额中工业、农业、教育投资的比例,男女比例等
- 实例分析
# 消费比例 data = pd.DataFrame({ "consumption":np.random.rand(12)*1000+2000, "salary":np.random.rand(12)*500 +5000 }, index = pd.period_range('2017/1','2017/12', freq='M') ) data['c_s'] = data["consumption"]/data['salary'] data['c_s'].plot.area(color='green', alpha=0.8,ylim=[0.3,0.6], figsize=(8,3),grid=True)
-
空间比较分析(横向对比分析):同类现象在同一时间不同空间的指标数值进行对比,反映同类现象在不同空间上的差异程度和现象发展不平衡的状况。
空间比较相对数 = 甲空间某一现象的数值 / 乙空间某一现象的数值
# 如 绝对数来看,我国经济总量世界第一,但从人均水平来看却并不是很有优势
- 实例分析
data = pd.DataFrame({"A":np.random.rand(30)*1000, "B":np.random.rand(30)*5000, "C":np.random.rand(30)*900, "D":np.random.rand(30)*2000}, index = pd.period_range('20170601','20170630')) data.sum().plot(kind='bar',color=['k','g','r','b'], alpha=0.8,figsize=(8,6),grid=True) for i,j in zip(range(4),data.sum()): plt.text(i-0.25,j+2000,'%.2f' % j,color='k') plt.xticks(rotation=0)
-
关于同比环比:通过界定
相邻时间段和时间点
,决定了同比还是环比- 同比 产品A在2015.3和2016.3的比较(相邻时间段的同一时间点)
- 环比 产品A在2015.3和2015.4的比较(相邻时间段的比较)
-
动态对比分析:同一现象在不同时间上的指标数值进行对比,反映现象的数量随着时间推移而发展变动的程度及趋势
动态相对数 = 某一现象的报告期数值 / 同一现象的基期数值
基期:用来比较的基础时期
报告期:所要研究的时期
- 实例分析
data = pd.DataFrame({"A":np.random.rand(30)*1000+2000}, index = pd.period_range('20170601','20170630') ) data['base'] = 1000 # 累计增长量:报告期与基期的比较 data['l_growth'] = data['A'] - data['base'] # 逐期增长量:当前报告期与上一个报告期的比较 data['z_growth'] = data['A'] - data.shift(1)['A'] data.fillna(0,inplace=True) data[['l_growth','z_growth']].plot( kind='line',color=['r','b'], alpha=0.8,style='--',figsize=(8,6),grid=True) # 定基增长速度 data['lspeed'] = data['l_growth'] / 1000 # 环比增长速度z data['zspeed'] = data['z_growth'] / data['A'] data.fillna(0,inplace=True) data[['lspeed','zspeed']].plot( kind='line',color=['r','b'], alpha=0.8,style='--',figsize=(8,6),grid=True)
- 实例分析
网友评论