消费金融行业简介

全国30家消费金融公司分布如下:

北京、上海、重庆各3家,广东、福建、江苏、四川各2家;大体可以反映出全国各区域的经济重心所在(京津冀、长三角、珠三角、成渝经济圈)。大部分西部省份没有消费金融公司,如下图:

2010年-2020年消费金融公司每年成立数量:

2010年首先成立了3家消费金融公司,随后3年没有再增加;但2014-2016年消费金融公司成立速度明显加快;2017-2019年则又放慢,可能因为前期消费金融行业快速扩张带来一些社会负面影响导致国家放慢其发展速度;今年新成立5家,可能因为疫情影响,亟需提振消费促进经济发展。

2020年上半年部分消费金融公司经营情况:

营收入和净利润较排名都比较靠前的公司是招联和兴业,这两家公司上半年经营情况较好;湖北消费金融公司经营情况在目前已知的数据中排名处于中下游,且上半年净利润不足500万;经营状况不佳,可能受疫情影响较大;华融和重庆小米则处于亏损状态

代码如下:

#-*-coding:utf-8-*-
import pandas as pd
import  matplotlib.pyplot as plt
from pylab import mpl
from pyecharts.charts import Map
from pyecharts import options as opts
plt.style.use("seaborn")
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

path="D:/****/湖北消费金融/"
df=pd.read_csv(path+"消费金融公司分布.csv")
df2=pd.read_excel(path+"消费金融公司分布.xlsx",sheet_name='Sheet2')#可以通过sheet_name来指定读取的表单
df3=pd.read_excel(path+"16家消费金融公司半年经营情况.xlsx",sheet_name="Sheet1")
print(df3)

def get_map():
    province=df.区域.tolist()
    num=df.数量.tolist()
    list1=[(province[i],num[i]) for i in range(len(province))]
    chinaMap = Map()
    chinaMap.set_global_opts(title_opts=opts.TitleOpts(title="消费金融公司分布"),visualmap_opts=opts.VisualMapOpts(max_=max(num)))
    chinaMap.add("消费金融公司分布", list1, maptype="china")
    chinaMap.render(path+"中国地图.html") 

def get_hist():
    _x=range(df2.shape[0])
    y=df2.数量
    x=df2.成立时间
    fig,ax=plt.subplots(figsize=(10,4),dpi=80)
    ax.bar(_x,y,color="red")
    ax.set_xticks(_x)
    ax.set_xticklabels(x)
    for i, j in zip(_x, y):
        plt.text(i, j+0.1, str(j), ha='center', va='bottom', fontsize=8.5)#j+0.1表示离柱形图0.1的距离添加数据标签
    plt.title("消费金融公司每年成立数量")       
    plt.savefig(path+"消费金融公司成立数量.png")

def get_profit():
    income=df3[["公司","营收"]].sort_values(axis=0, ascending=True, by='营收').dropna(axis=0, how='any')
    retainprofit=df3[["公司","净利润"]].sort_values(axis=0, ascending=True, by='净利润').dropna(axis=0, how='any')
    fig,ax=plt.subplots(figsize=(24,10),dpi=80)
    plt.xticks([])#先把大图的坐标刻度去掉以免后面重叠
    plt.yticks([])
    ax0=fig.add_subplot(121)
    company=income.公司
    incomenum=income.营收
    _x=range(income.shape[0])
    ax0.barh(_x,incomenum,color="red")
    ax0.set_yticks(_x)
    ax0.set_yticklabels(company)
    ax0.set_title("消费金融公司上半年营收")
    for i, j in zip(incomenum,_x):
        plt.text(i+0.1, j, str(i), ha='left', va='bottom', fontsize=8.5)
    ax1=fig.add_subplot(122)
    _x2=range(retainprofit.shape[0])
    company2=retainprofit.公司
    incomenum2=retainprofit.净利润
    ax1.barh(_x2,incomenum2,color="red")
    ax1=plt.gca()
    ax1.yaxis.set_ticks_position('left')#指定左边的边为y轴
    ax1.spines['left'].set_position(('data', 0))#将y轴指定为0轴
    ax1.set_yticks(_x2)
    ax1.set_yticklabels(company2)
    ax1.set_title("消费金融公司上半年净收入")
    for i, j in zip(incomenum2,_x2):#绘制的是横向条形图,需把text()参数的位置做相应的调换
        plt.text(i+0.1, j, str(i), ha='left', va='bottom', fontsize=8.5)
    plt.savefig(path+"消费金融公司上半年经营情况.png")

if __name__=="__main__":
    get_map()
    get_hist()
    get_profit()

 

posted @ 2020-10-26 22:14  姜近九  阅读(338)  评论(0)    收藏  举报