全部版块 我的主页
论坛 经济学论坛 三区 产业经济学
1047 1
2021-01-05
涉及代码如下
hym_list=list(pat.columns) ##行业名称,统计于专利
czm_list=list(pro.columns) ##产值名称
doc=Document()
cor_result=pd.DataFrame()
for i in hym_list[1:]:
    hy=[i]
    zls=pat[i]
    cz=pro[i]
    cor=pd.DataFrame(columns=['时间',i+"专利数",'产值'])#单个行业数据
    cor['时间']=pat['时间']
    cor[i+"专利数"]=zls
    cor['产值']=cz
    cor_list=round(cor.corr(),4)# 相关系数  
    cor_num=cor_list[i+"专利数"]['产值']
    cor_li=[cor_num]
    cor_r=pd.DataFrame(columns=['行业','对应产值相关系数'])
    cor_r['行业']=hy
    cor_r['对应产值相关系数']=cor_li
    cor_result=cor_result.append(cor_r)

    plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
    # 画出双坐标轴图像
    cor_l2=cor.dropna(subset=['产值'])
    kd=[]##设置y轴刻度
    kds=[]
    h=cor_l2['产值'].min()
    s=cor_l2[i+"专利数"].min()
    for m in range(len(cor_l2['产值'])):
        kd.append(h)
        kds.append(s)
        h=h+((cor_l2['产值'].max()-cor_l2['产值'].min())/len(cor_l2['产值']))   
        s=s+((cor_l2[i+"专利数"].max()-cor_l2[i+"专利数"].min())/len(cor_l2[i+"专利数"]))

    fig,ax1 = plt.subplots(figsize = (10,8))
    ax2 = ax1.twinx()
    l1, = ax1.plot(cor['时间'],cor[i+"专利数"],'r-')
    l2, = ax2.plot(cor['时间'],cor['产值'],'b-')
    # 设置x,y轴文字说明
    ax1.set_xlabel('时间')
    ax1.set_yticks(kds)
    ax1.set_xticks(cor['时间'])
    ax1.set_ylabel(i+"专利数")

    bq=(cor_l2[i+"专利数"].max()-cor_l2[i+"专利数"].min())*0.02
    for c,d in zip(cor['时间'],cor[i+"专利数"]):
        ax1.text(c,d+bq,'%.0f' % d,fontdict={'fontsize':12})
    ax2.set_ylabel("产值")
    ax2.set_yticks(kd)
    for f,g in zip(cor_l2['时间'],cor_l2['产值']):
        ax2.text(f,g,'%.0f' % g,fontdict={'fontsize':12})

    # 设置图例
    plt.legend(handles=[l1,l2,],labels=[i+"专利数",'产值'],loc='best')
    # 设置标题
    ax1.set_title(i+"—专利&产值趋势图")
    name=i+"—专利&产值趋势图"
    plt.savefig("********"+name+".png")
    plt.grid()
    plt.show()   
    print(cor_list)


    if cor_num<0:##判断相关系数的方向特征
        fx="相关系数为负,说明该行业的专利数和产值呈现负相关的相关关系,如趋势图所示,存在一定的相异的趋势。"
    elif cor_num>0:
        fx="相关系数为正,说明该行业的专利数和产值呈现正相关的相关关系,如趋势图所示,两者存在一定程度的相似趋势。"
    if abs(cor_num)<0.3:##相关程度度量
        cd="而该相关系数的数值说明相关程度很低,该行业的专利数和行业产值几乎不存在相关性。"
    elif abs(cor_num)>=0.3 and abs(cor_num)<0.6:
        cd="而该相关系数的数值说明相关程度较低,该行业的专利数和行业产值存在相对较弱的相关性,同时也不排除有专利泡沫的可能性。"
    elif abs(cor_num)>=0.6 and abs(cor_num)<0.8:
        cd="而该相关系数的数值说明两者的相关系数较高,相关性较强。"
    elif abs(cor_num)>=0.8:
        cd="而该相关系数的数值说明两者的相关程度高,两者存在比较强的依存关系。"

    doc.add_heading(text=i,level=1) ##设置文档
    doc.add_heading(text=i+"趋势图",level=2)

    pic =doc.add_picture("******"+name+".png" ,width=Pt(500))  
    doc.add_heading(text=i+"相关分析",level=2)
    table=doc.add_table(4,4,style='Table Grid')##创表
    cell=table.cell(0,0)
    cell.text="相关系数矩阵"

    for j in range(3):
        table.cell(0,j+1).text = cor_list.columns[j]
        table.cell(j+1,0).text = cor_list.index[j]
    for a in range(cor_list.shape[0]):
        for j in range(cor_list.shape[-1]):
            table.cell(a+1,j+1).text = str(cor_list.values[a,j])

    paragraph =doc.add_paragraph(text=i+'的专利和其对应的产值的相关系数为:'+str(cor_num)+"。"+fx+cd)      
    ph_format =paragraph.paragraph_format
    ph_format.space_before =Pt(10)   #设置段前间距
    ph_format.space_after =Pt(12)    #设置段后间距
    ph_format.line_spacing=Pt(19)    #设置行间距

附件列表

相关系数表.xlsx

大小:9.64 KB

只需: 10 个论坛币  马上下载

专利与产值相关分析.docx

大小:2.52 MB

只需: 1 个论坛币  马上下载

该报告是用python批量生成的分析报告,涉及多个行业

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-1-5 09:39:16
主要是重庆市的产业专利相关系数分析
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群