查看原文
其他

数据集 | 国、省、市三级政府工作报告文本(1954-2024)

大邓 大邓和他的Python
2024-09-10

Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址
https://textdata.cn/blog/2023-12-17-gov-anual-report-dataset/

相关代码

代码 | 使用地方gov工作报告生成某类概念词词频面板数据


一、数据集

1.1 数据简介

国级(guo wu yuan)工作报告1954-2024, 记录数71

省级zf工作报告2002-2024, 记录数744

市级zf工作报告2003-2024, 记录数6204

1.2 说明

本文内容仅为科研分享, 不代表本人的政治立场。如有问题, 加微信 372335839,  备注「姓名-学校-专业-政府工作报告」。 


1.3 文件树目录

|- 代码.ipynb

|- GovReportData
    |-nation
        |-1954.txt
        |-1955.txt
        |-...
        |-2023.txt
        |-2024.txt
        
    |-prov
        |-安徽省2001.txt
        |-...
        |-安徽省2024.txt
        |-...
        |-浙江省2024.txt
        
    |-city
        |-安康市2003.txt
        |-...
        |-安庆市2003.txt
        |-...
        |-安庆市2024.txt


二、查看数据

2.1 国级报告

import pandas as pd

ndf = pd.read_csv('GovReportData/nation.csv')
ndf


2.2 省级报告

pdf = pd.read_csv('GovReportData/province.csv')
pdf


2.3 市级报告

cdf = pd.read_csv('GovReportData/city.csv')
cdf

三、 实验-文本分析

3.1 国-词频

计算总词语数、某类词出现的次数,计算各政府提及【环保】的频率

import jieba

ndf['word_num'] = ndf['doc'].fillna('').apply(lambda text: len(jieba.lcut(text)))
ndf['env_num'] = ndf['doc'].fillna('').str.count('环保|环境|污染|青山|绿水')
ndf['env_ratio'] = ndf['env_num']/ndf['word_num']
ndf


3.2 可视化

import matplotlib.pyplot as plt
import matplotlib
import matplotlib_inline
matplotlib_inline.backend_inline.set_matplotlib_formats('png''svg')
import scienceplots
import platform
import pandas as pd
import numpy as np
import jieba

plt.style.use(['science''no-latex''cjk-sc-font'])
system = platform.system()  # 获取操作系统类型

if system == 'Windows':
    font = {'family''SimHei'}
elif system == 'Darwin':
    font = {'family''Arial Unicode MS'}
else:
    font = {'family''sans-serif'}
matplotlib.rc('font', **font)  # 设置全局字体



plt.figure(figsize=(126))
ndf.sort_values('year', inplace=True)
plt.scatter(ndf['year'], ndf['env_ratio'])
plt.plot(ndf['year'], ndf['env_ratio'])
plt.title('国级报告中“环保概念词”提及频率折线图(1954-2024)')
plt.show()


大家应该都学过正泰分布中, 数据中大多数的记录会落在 均值+-标准差 范围内,

这里设置 top_nation_maskbottom_nation_mask ,分别识别到最重视环保的年份、最不重视环保的年份

top_nation_mask = ndf['env_ratio'].mean() + ndf['env_ratio'].std()
bottom_nation_mask = ndf['env_ratio'].mean() - ndf['env_ratio'].std()

print('最重视环保的年份')
print(ndf[ndf['env_ratio']>top_nation_mask].year.values)

print()

print('最忽视环保的年份')
print(ndf[ndf['env_ratio']<bottom_nation_mask]['year'].values)

Run

最重视环保的年份
[2001 2003 2005 2006 2007 2015 2016 2017 2019 2021 2023]

最忽视环保的年份
[1954 1955 1956 1957 1958 1959 1960 1964 1975 1978 1979 1980 1981 1983
 1985 1987]

可以看到进入21世纪,国家对环保重视从报告中就能看出。而在前期,因为生存是首要解决的,对环境保护的认识事不足的。


3.2 省-词频

计算总词语数、某类词出现的次数,计算各省提及【环保】的频率。因为省份的记录有770条,现在咱们把条件变严格,

 top = mean+3*std, 
 bottom = mean-2std

大家可以自己设置条件的严格程度

pdf['word_num'] = pdf['doc'].fillna('').apply(lambda text: len(jieba.lcut(text)))
pdf['env_num'] = pdf['doc'].fillna('').str.count('环保|环境|污染|青山|绿水')
pdf['env_ratio'] = pdf['env_num']/pdf['word_num']

top_prov_mask = pdf['env_ratio'].mean() + 3*pdf['env_ratio'].std()
bottom_prov_mask = pdf['env_ratio'].mean() - 2*pdf['env_ratio'].std()

print('最重视环保的省(年份)')
pdf[pdf['env_ratio']>top_prov_mask][['province''year']]


Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址
https://textdata.cn/blog/2023-12-17-gov-anual-report-dataset/


精选内容

推荐 | 文本分析库cntext2.x使用手册
LIST | 文本分析代码列表
LIST | 社科(经管)文本挖掘文献列表
新闻数据集 | 含 人民日报/光明日报/参考消息/经济日报 等 120 家媒体(2024.06)
数据集(中英) | ChinaDaily新闻数据集(2008 ~ 2024)
数据集(英文)| USA Today新闻数据集(2012~2024)
数据集 | 企业家Entrepreneur杂志数据集(1996 ~ 2024)
数据集 | 2006年-2023年A股企业社会责任报告/环境报告书/可持续发展报告
代码 | 使用本地大模型从文本中提取结构化信息
实验 | 使用本地大模型DIY制作单词书教案PDF
管理世界2024 | 使用管理层讨论与分析测量「企业人工智能指标」
代码 | 使用 MD&A文本测量「企业不确定性感知FEPU」
文献&代码 | 使用Python计算语义品牌评分(Semantic Brand Score)
代码 | 使用 3571w 专利申请数据集构造面板数据
代码 | 使用「新闻数据集」计算 「经济政策不确定性」指数
代码 | 使用「新闻数据」生成概念词频「面板数据」
代码 | 使用 3571w 专利申请数据集构造面板数据
代码 | 使用本地大模型从文本中提取结构化信息
继续滑动看下一个
大邓和他的Python
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存