您现在的位置是:亿华云 > IT科技类资讯
用Python分析14425条死亡公司数据 看十年创业公司消亡史
亿华云2025-10-03 02:52:54【IT科技类资讯】4人已围观
简介一、前言IT桔子有一个新经济死亡公司数据库:https://www.itjuzi.com/deathCompany,统计了2000-2020年之间比较出名的公司 "死亡" 数据,数据来源真实可靠。
一、析条消亡前言
IT桔子有一个新经济死亡公司数据库:https://www.itjuzi.com/deathCompany,死亡数据史统计了2000-2020年之间比较出名的公司公司公司 "死亡" 数据,数据来源真实可靠。看年

二、创业数据预处理
对已获取的 14425 条死亡公司数据进行数据查看和预处理
import pandas as pd df = pd.read_excel(倒闭公司数据.xlsx) df.head()
挑选最近十年(2010-2019)的死亡公司数据,来看一看这十年里,创业公司的消亡。
# 提取2010-2019年的死亡公司数据 df1 = df[df[倒闭时间].str[:4].apply(int) >= 2010] df2 = df1[df1[倒闭时间].str[:4].apply(int) < 2020] df2.head()
三、服务器租用数据分析
大家常说 1998 年是中国互联网元年,2010年是移动互联网的元年。也难怪,2010年的移动互联网实在是太热闹了。微信、小米、美团、爱奇艺等都在这一年相继成立。百度在谷歌退出中国后成为最大的受益者,淘宝成为阿里新的增长点,腾讯则宣布 QQ 同时在线超 1 亿人。自此,百度、阿里和腾讯正式成为"三巨头"——BAT。除此之外,网易的网游、新浪的微博、搜狐的视频和输入法也开始发力出击,移动互联网的竞争正式拉开帷幕。
pyecharts 绘制折线图可视化:
# -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :修炼Python @CSDN :https://yetingyun.blog.csdn.net/ """ import pandas as pd import pyecharts.options as opts import pyecharts from pyecharts.charts import Line from pyecharts.globals import CurrentConfig, ThemeType print(pyecharts.__version__) # 查看当前 pyecharts 版本 # 引用本地js资源渲染 CurrentConfig.ONLINE_HOST = D:/python/pyecharts-assets-master/assets/ # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) df1 = df[(df[成立之年] >= 2010) & (df[成立之年] < 2020)] born_time = df1[成立之年].value_counts() # 按索引 2010-2019排序 born_time = born_time.sort_index() death_time = df[倒闭时间].str[:4].apply(int).value_counts() death_time = death_time.sort_index() year = [f{ i}年 for i in range(2010, 2020)] num_1 = [int(x) for x in born_time.values] num_2 = [int(y) for y in death_time.values] c = ( Line(init_opts=opts.InitOpts(theme=ThemeType.DARK)) .add_xaxis(xaxis_data=year) .set_colors([#7FFF00, red]) # 设置两条折线图的颜色 .add_yaxis(出生公司数量, y_axis=num_1) .add_yaxis(死亡公司数量, y_axis=num_2) .set_global_opts( # 设置x轴 y轴标签 xaxis_opts=opts.AxisOpts(name=年份), yaxis_opts=opts.AxisOpts(name=数量) ) .render(test.html) )2010 年来,历年出生及死亡的亿华云计算公司数量趋势如下图:

每一个风口上,都站着数百头 "猪",尝试飞起来。下面看看各行业这十年来倒闭公司数量分布情况。
# -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :修炼Python @CSDN :https://yetingyun.blog.csdn.net/ """ import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl import seaborn as sns # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) df[倒闭之年] = df[倒闭时间].str[:4].apply(int) # unique() 获取所属行业这一列的唯一值 去重 datas = list(df[所属行业].unique()) print(datas) # print(len(datas)) for item in datas: # 判断每行 有这个类型 对应类型的列下添个1 df[item] = df[所属行业].str.contains(item).apply(lambda x: 1 if x else 0) industry_data = df.loc[:, datas] # 将成立之年作为索引标签 industry_data.index = df[倒闭之年] # 将数据集按年份分组并求和,得出每个年份,云南idc服务商公司所属各行业的数量 industry_df = industry_data.groupby(倒闭之年).sum() # print(industry_df) # print(type(industry_df)) # industry_df.to_excel(2010-2019年各行业倒闭公司数量.xlsx, encoding=gbk) mpl.rcParams[font.family] = Kaiti fig, ax = plt.subplots(figsize=(15, 9)) # 绘制热力图 cmap:从数字到色彩空间的映射 # PRGn_r OrRd rainbow sns.heatmap(data=industry_df.T, linewidths=0.25, linecolor=white, ax=ax, annot=True, fmt=d, cmap=rainbow, robust=True, ) # 添加描述信息 x y轴 title ax.set_xlabel(年份, fontdict={ size: 18, weight: bold}) ax.set_ylabel(公司所属行业, fontdict={ size: 18, weight: bold}) ax.set_title(2010-2019年各行业倒闭公司数量热力图, fontsize=25, x=0.5, y=1.02) # 隐藏边框 ax.spines[top].set_visible(False) ax.spines[right].set_visible(False) ax.spines[left].set_visible(False) ax.spines[bottom].set_visible(False) # 保存 展示图片 plt.savefig(heat_map.png) plt.show()
风口消亡的背后,是无数创业公司烧掉的钱,每个公司在一开始,都坚信可以烧倒对手,但烧着烧着把自己烧光了,却再也拿不到融资。

安邦保险、广信房产这两家属于金融行业的公司,在烧钱榜上融资总额分别排第一、第二。共享单车们也曾大战一场,战火烧过国内的各大城市,甚至烧到了海外。摩拜单车在烧钱榜单名列第三,融资总额 327.1596 亿元;ofo小黄车紧随其后,排名第五,融资总额 167.96 亿元,摩拜单车存活 5 年 11 个月,ofo小黄车存活 5 年 7 个月。
接着来看看这些倒闭公司的获投状态
import pandas as pd from collections import Counter # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) data = list(df[获投状态]) count = Counter(data).most_common() for item in count: print(item)结果如下:
# (获投状态,倒闭公司数量) (尚未获投, 5184) (不明确, 4859) (天使轮, 1898) (A轮, 622) (种子轮, 198) (已被收购, 149) (A+轮, 137) (B轮, 117) (Pre-A轮, 111) (战略投资, 44) (C轮, 25) (D轮, 10) (B+轮, 9) (新三板, 5) (E轮, 2) (已退市, 2) (C+轮, 1) (已上市, 1) (Pre-B轮, 1)超过 10000 家倒闭公司获投状态为尚未获投、不明确。
创业公司的消亡,究其原因必然是多方面的,除行业竞争激烈这一核心因素外,最主要的还是资金问题。创业者内在对于如何维稳、如何盈利等方面欠缺的了解、思考与准备,不足以在行业稳定后,支撑他在风口来临之初的一腔热血豪情。

参考 IT 桔子给的市场定位,分析创业公司死亡原因。
# -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :修炼Python @CSDN :https://yetingyun.blog.csdn.net/ """ import pandas as pd from collections import Counter from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.globals import CurrentConfig CurrentConfig.ONLINE_HOST = D:/python/pyecharts-assets-master/assets/ # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) datas = df[倒闭原因] # 参考IT桔子给的市场定位 创业公司死亡原因主要的问题 reason_loaction = { 团队问题: [创始人问题, 与投资人冲突, 团队能力不足, 团队缺乏激情], 产品问题: [产品缺陷严重, 产品入场时机], 资金问题: [烧钱, 现金流断裂, 融资能力不足], 运营问题: [定价/成本问题, 营销不足, 不重视客户, 转型问题], 外部原因: [法律法规风险, 行业竞争, 政策监管], 其他问题: [市场伪需求, 商业模式匮乏, 业务过于分散, 业务调整] } reasons_list = [] for item in datas: data = item.split(|) for i in data: reasons_list.append(i) reasons_count = Counter(reasons_list).most_common() for item in reasons_count: print(item) print(len(reasons_count)) # 主要有20种原因 result = [] for key in reason_loaction.keys(): num = 0 for i, j in reasons_count: if i in reason_loaction[key]: num += j result.append([key, num]) print(result) c = ( # 宽 高 背景颜色 Pie(init_opts=opts.InitOpts(width="800px", height="500px", bg_color="#2c343c")) .add( series_name="倒闭原因", # 系列名称 data_pair=result, # 系列数据项,格式为 [(key1, value1), (key2, value2)...] rosetype="radius", # radius:扇区圆心角展现数据的百分比,半径展现数据的大小 radius="55%", # 饼图的半径 center=["50%", "50%"], # 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标 label_opts=opts.LabelOpts(is_show=False, position="center"), # 标签配置项 ) .set_colors(["#00BFFF", "#00FF7F", "#FF1493", "#8B008B", "#FFFF00", "#556B2F"]) .set_global_opts( title_opts=opts.TitleOpts( title="Customized Pie", pos_left="center", pos_top="20", title_textstyle_opts=opts.TextStyleOpts(color="#fff"), ), legend_opts=opts.LegendOpts(is_show=False), ) .set_series_opts( tooltip_opts=opts.TooltipOpts( trigger="item", formatter="{ a} <br/>{ b}: { c} ({ d}%)" # item: 数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用 ), label_opts=opts.LabelOpts(color="#fff"), ) .render("customized_pie.html") )结果如下:
(行业竞争, 6818) (烧钱, 4963) (融资能力不足, 4655) (营销不足, 2297) (现金流断裂, 1802) (商业模式匮乏, 1490) (政策监管, 992) (业务过于分散, 990) (产品入场时机, 917) (法律法规风险, 850) (市场伪需求, 775) (定价/成本问题, 549) (业务调整, 150) (不重视客户, 101) (产品缺陷严重, 46) (转型问题, 42) (团队能力不足, 42) (创始人问题, 19) (与投资人冲突, 6) (团队缺乏激情, 5) 20 [[团队问题, 72], [产品问题, 963], [资金问题, 11420], [运营问题, 2989], [外部原因, 8660], [其他问题, 3405]]
比较有意思的是,这个死亡公司数据库还加了一个上香排行榜,排行第一的果然是大名鼎鼎的“快播”。
还真是有的公司死了,但在人们心里它还活着。
再来看一下创业公司的地区分布
# -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :修炼Python @CSDN :https://yetingyun.blog.csdn.net/ """ import pandas as pd from collections import Counter from pyecharts.globals import ThemeType, CurrentConfig, GeoType from pyecharts import options as opts from pyecharts.charts import Geo CurrentConfig.ONLINE_HOST = D:/python/pyecharts-assets-master/assets/ # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) # 有些数据可能多了空格 area = list(df[所在地区].str.strip()) area_count = Counter(area).most_common() # 滤除 filter_area = [(北美洲, 23), (亚洲, 11), (欧洲, 3)] area_counts = [item for item in area_count if item not in filter_area] for item in area_counts: print(item) geo = Geo(init_opts=opts.InitOpts(width=1000px, height=600px, theme=ThemeType.DARK)) geo.add_schema(maptype=china, label_opts=opts.LabelOpts(is_show=True)) # 显示label 省名 geo.add(倒闭公司数量, data_pair=area_counts, type_=GeoType.EFFECT_SCATTER, symbol_size=8) geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) geo.set_global_opts(title_opts=opts.TitleOpts(title=倒闭公司数量在全国的分布), visualmap_opts=opts.VisualMapOpts(max_=5000, is_piecewise=True, pieces=[{ "max": 50, "min": 0, "label": "0-50", "color": "#708090"}, # 分段 添加图例注释 和颜色 { "max": 100, "min": 51, "label": "51-100", "color": "#00FFFF"}, { "max": 200, "min": 101, "label": "101-200", "color": "#00008B"}, { "max": 300, "min": 201, "label": "201-300", "color": "#483D8B"}, { "max": 1000, "min": 500, "label": "500-1000", "color": "#1E90FF"}, { "max": 2000, "min": 1001, "label": "1001-2000", "color": "#8B008B"}, { "max": 4000, "min": 2001, "label": "2001-4000", "color": "#FF1493"}, { "max": 5000, "min": 4001, "label": "4001-5000", "color": "#FF0000"} ]) ) geo.render("geo_map.html")
有个别数据地区是北美洲、亚洲、欧洲这样的,不便于分析,将其滤掉。
结果如下:
# (地区,倒闭公司数量) (北京, 4527) (广东, 2355) (上海, 2000) (浙江, 1007) (四川, 707) (江苏, 507) (湖北, 302) (福建, 264) (山东, 211) (陕西, 197) (湖南, 155) (重庆, 154) (河南, 125) (安徽, 119) (天津, 110) (辽宁, 98) (河北, 76) (江西, 62) (黑龙江, 53) (广西, 42) (山西, 36) (台湾, 36) (云南, 34) (贵州, 32) (海南, 26) (香港, 23) (吉林, 20) (内蒙古, 19) (新疆, 16) (甘肃, 11) (宁夏, 7) (西藏, 5) (青海, 2)
北上广不相信眼泪,但创业公司还是青睐于北京、广东、上海等地区。
最后看一下倒闭公司经营年限分布情况
# -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :修炼Python @CSDN :https://yetingyun.blog.csdn.net/ """ import pandas as pd from collections import Counter from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.globals import ThemeType, CurrentConfig CurrentConfig.ONLINE_HOST = D:/python/pyecharts-assets-master/assets/ # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) year = list(df[经营年限]) year_count = Counter(year).most_common() year_count = sorted(year_count, key=lambda x:x[0]) x_data = [x[0] for x in year_count] y_data = [y[1] for y in year_count] bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK)) bar.add_xaxis(xaxis_data=x_data) bar.add_yaxis("倒闭公司数量", y_axis=y_data) bar.set_global_opts( title_opts=opts.TitleOpts(title=倒闭公司经营年限分布), xaxis_opts=opts.AxisOpts(name=经营年限), # 设置x名称和Label yaxis_opts=opts.AxisOpts(name=倒闭公司数量), ) bar.render(bar.html)结果如下:

经营年限不足 1 年的公司有 277 家,倒闭公司经营年限大部分在 2-4 年,经营年限为1年、5年的也比较多,经营年限 6 年以上的越来越少。
经营年限最长的倒闭公司Top10:
import pandas as pd # 读取数据 df = pd.read_excel(2010-2019倒闭公司数据.xlsx) # 按经营年限 降序排列 df1 = df.sort_values(by=经营年限, ascending=False) df1.iloc[:10, ].to_excel(经营年限最长的倒闭公司Top10.xlsx, index=False)结语:这是一个最好的时代,也是一个最坏的时代,一批创业者正踏上天堂之路,一批创业者正走向地狱之门,创业的道路上致使失败的原因太多,如同蝴蝶效应一样,一个小小的问题,也可能导致最终的失败。创业不易,且行且珍惜!
很赞哦!(429)
上一篇: 确定性网络,为什么新华三是“首选”?
下一篇: 数据中心高温管理指南