进行数据分析前的准备工作
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_excel("tech_layoffs.xlsx")
pd.set_option("display.max_columns",1000)
# print(data.head(5))
先做准备工作,将所需要的库导入,并查看数据集的具体情况,为接下来的数据分析做准备
# Company 公司名称 融资阶段 # Location_HQ 总部所在城市 字段 说明 # Country 国家 Series A-Z 第A-Z轮 # Continent 所在大陆 Post IPO 已上市 # Laid_Off 裁员人数 Acquired 被收购 # Date_layoffs 裁员时间 Private Equity 私募股权 # Percentage 裁员比例 # Company_Size_before_Layoffs 公司裁员前规模 # Company_Size_after_layoffs 公司裁员后规模 # Industry 行业 # Stage 融资阶段 # Money_Raised_in_$_mil 筹集资金(单位:百万美元) # Year 记录年份 # 以上是对数据集的理解,做数据分析之前一定要对数据集有充分的了解 # 问题描述 # 全球或区域裁员趋势分析 # 行业裁员分析 # 公司规模与裁员关系 # 融资阶段与裁员风险
首先我们先分析时间与裁员之间的关系
plt.figure(figsize=(10,6))
plt.bar(year_data['Year'],year_data['Laid_Off'],color = 'Red')
plt.title("裁员人数与年份的关系图")
plt.xlabel("年份")
plt.ylabel('裁员人数')
plt.show()
从上图可以看出,从2020年到2024年,科技公司每年的裁员数量都有所不同。裁员数量在2023年达到最高峰,而在2020年相对较低。这可能反映了全球经济环境的变化,特别是考虑到2020年全球疫情的影响。
接下来,我们分析行业对裁员的影响
plt.figure(figsize=(10,6))
plt.barh(industy_data['Industry'],industy_data['Laid_Off'],color = 'green')
plt.title("裁员人数与行业类型的关系图")
plt.xlabel("行业类型")
plt.ylabel('裁员人数')
plt.show()
从上图可以看出,不同行业的裁员数量存在显著差异。其中,“Transportation”(交通)行业的裁员数量最多,其次是“Healthcare”(医疗保健)和“Consumer”(消费品)行业。这可能反映了这些行业在特定时间段内的市场动态和挑战。
接下来,我们分析不同公司裁员前后的人数,分析出什么公司裁员前后差距较大
width = 0.4
x = np.arange(len(top_10_companies))
plt.bar(x-width/2, top_10_companies['Company_Size_before_Layoffs'], width, color='blue')
plt.bar(x+width/2, top_10_companies['Company_Size_after_layoffs'], width, color='green')
plt.title('公司裁员前后对比图(前十名)')
plt.xlabel('公司名称')
plt.ylabel('人数')
plt.xticks(x, top_10_companies['Company'])
plt.legend()
plt.show()
从图中可以看出,中小公司裁员较多,部分大公司也进行较多裁员,首当其冲的时中小公司
最后我们分析公司各个发展阶段裁员人数
plt.figure(figsize=(12, 6))
plt.bar(stage_data['Stage'], stage_data['Laid_Off'], color='lightblue')
plt.xlabel('公司发展阶段')
plt.ylabel('裁员数量')
plt.title('不同公司发展阶段的裁员数量')
plt.show()
从上图可以看出,处于“Acquired”(被收购)阶段的公司裁员数量最多,其次是“Post-IPO”(已上市)和“Series H”(第H轮)阶段的公司。这可能反映了这些阶段的公司可能面临的特定挑战,例如整合问题、市场压力或增长放缓。
总结:
- 裁员数量在2023年达到最高峰,而在2020年相对较低。
- 不同行业的裁员数量存在显著差异,其中交通、医疗保健和消费品行业的裁员数量最多。
- 在国家层面,美国、印度和以色列的裁员数量最多。
- 处于被收购阶段的公司裁员数量最多,其次是已上市和第H轮阶段的公司。
接下来我们将进行特征重要性分析。这将帮助我们了解哪些因素对裁员数量有最大的影响。
feature_importance = model.feature_importances_
feature = X.columns
sort_index = feature_importance.argsort()
plt.figure(figsize=(12, 6))
plt.barh(range(len(sort_index)), feature_importance[sort_index])
plt.yticks(range(len(sort_index)), [feature[i] for i in sort_index])
plt.xlabel('特征重要性')
plt.title('特征重要性分析')
plt.show()
从上图可以看出,对于预测裁员数量,以下特征最为重要:
Money_Raisedin$_mil:公司筹集的资金(单位:百万美元)
Company_Size_before_Layoffs:裁员前公司规模
Date_layoffs:裁员日期
Company_Size_after_layoffs:裁员后公司规模
Percentage:裁员比例
这意味着公司的财务状况(如筹集的资金)和规模是预测裁员数量的关键因素。
***:需要完整代码和数据集的可以私信我