一、工商数据集

1.1 概况

数据来源: 国家企业信用信息公示系统
记录条数: 2.49亿条
文件体积: 160G(解压后)
涵盖日期: 1949.10.1~2023.9.19

数据集已脱敏处理, 没有手机号、邮箱等联系信息,无商业营销价值。
科研用途,仅供展示。如有问题,加微信372335839,备注「姓名-学校-专业」


1.2 字段

任意csv文件的字段包括

- 企业名称
- 英文名称
- 统一社会信用代码
- 企业类型
- 经营状态
- 成立日期
- 核准日期
- 法定代表人
- 注册咨本
- 实缴资本
- 参保人数
- 公司规模
- 经营范围
- 注册地址
- 营业期限
- 纳税人识别号
- 工商注册号
- 组织机构代码
- 纳税人资质
- 曾用名
- 所属省份
- 所属城市
- 所属区县
- 网站链接
- 所属行业
- 登记机关
- 经度
- 纬度

1.3 查看文件

import os

os.listdir()

Run

 [
 '北京.csv.gz',
 '上海.csv.gz',
 '南京.csv.gz',
 ...
 '重庆.csv.gz',
  ]



二、实验代码

2.1 读取数据

不考虑电脑内存容量限制, 读取 石家庄市、长沙市、杭州市。如果电脑内存很小,请先阅读 推荐 | 如何处理远超电脑内存的csv文件

import pandas as pd

sjz_df = pd.read_csv('石家庄.csv.gz', compression='gzip', encoding='utf-8', low_memory=False)
cs_df = pd.read_csv('长沙.csv.gz', compression='gzip', encoding='utf-8', low_memory=False)
hz_df = pd.read_csv('杭州.csv.gz', compression='gzip', encoding='utf-8', low_memory=False)

#随机显示2条记录
sjz_df.sample(2)


2.2 记录数

石家庄.csv 企业记录数

len(sjz_df)

Run

2010163

2.3 所含字段

含有的字段有

sjz_df.columns

Run

    Index(['企业组织机构代码', '企业名称', '注册资本', '实缴资本', '纳税人识别号', '法定代表人', '企业状态', '所属行业',
           '企业名称', '英文名称', '统一社会信用代码', '企业类型', '经营状态', '成立日期', '核准日期', '法定代表人',
           '注册咨本', '实缴资本', '参保人数', '公司规模', '经营范围', '注册地址', '营业期限', '纳税人识别号', '工商注册号', '组织机构代码', '联系电话', '邮箱', '纳税人资质', '曾用名', '所属省份', '所属城市', '所属区县', '网站链接', '所属行业', '登记机关', '经度', '纬度'],
          dtype='object')

2.4 日期转换

sjz_df['成立日期'] = pd.to_datetime(sjz_df['成立日期'])

#石家庄数据集日期范围
print(sjz_df['成立日期'].min())
print(sjz_df['成立日期'].max())

Run

1917-01-30 00:00:00
2023-09-19 00:00:00

查看成立日期为1917-01-30的信息

import datetime

sjz_df[sjz_df['成立日期']==datetime.datetime(year=1917, month=1, day=30)].to_dict()

Run

{'企业组织机构代码': {913555: '81130000MC0611518K'},
 '企业名称': {913555: '中国铁路工会石家庄站委员会'},
 '注册资本': {913555: '276.5万元人民币'},
 '实缴资本': {913555: '-'},
 '纳税人识别号': {913555: '81130000MC0611518K'},
 '法定代表人': {913555: '韩海峰'},
 '企业状态': {913555: '暂无'},
 '所属行业': {913555: '公共管理、社会保障和社会组织'},
 '统一社会信用代码': {913555: '81130000MC0611518K'},
 '工商注册号': {913555: nan},
 '组织机构代码': {913555: '-'},
 '登记机关': {913555: '河北省总工会'},
 '成立日期': {913555: Timestamp('1917-01-30 00:00:00')},
 '核准日期': {913555: '1949-10-01'},
 '企业类型': {913555: '-'},
 '经营期限': {913555: '2019-04-01 至 2022-02-09'},
 '注册所在地': {913555: nan},
 '地区编码': {913555: '130105'},
 '详细地址': {913555: '石家庄市新华区大桥路2号'},
 '经营范围': {913555: '-'},
 '参保人数': {913555: 478.0},
 '企业电话': {913555: nan},
 '企业座机': {913555: nan},
 '企业邮箱': {913555: nan}}



三、可视化

绘制一个1992-2023年的注册量折线图

import matplotlib.pyplot as plt
import matplotlib
import matplotlib_inline
matplotlib_inline.backend_inline.set_matplotlib_formats('png', 'svg')
import scienceplots
import platform
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=(12, 8))
years = [str(y) for y in range(1992, 2023)]

sjz_df['成立日期'].str.slice(0, 4).value_counts(ascending=True)[years].plot(label='石家庄')
cs_df['成立日期'].str.slice(0, 4).value_counts(ascending=True)[years].plot(label='长沙')
hz_df['成立日期'].str.slice(0, 4).value_counts(ascending=True)[years].plot(label='杭州')

plt.title('工商企业注册量1992-2019年', fontsize=16, color='black', ha='center')
plt.xlabel('年份')
plt.ylabel('注册量')
plt.legend(loc='upper right')
plt.show()    

svg



广而告之