棒グラフを使った人事データの可視化例です。棒グラフは量を比較するときに利用され、層別のデータ数や量的変数の平均値などの大きさを棒の長さで表現します。

人事データの可視化例

棒グラフ

人事データ可視化の狙い

  • 全社的な人員配置戦略を検討するため、組織毎の在籍人数を確認する。

人事データ可視化アプローチ

利用するグラフ

  • 棒グラフ: カテゴリ変数の度数や、他の変数に対する統計量を棒の長さで表現する。

アプローチ

  • 所属別に従業員数を数え上げ、棒グラフで可視化する。
  • グラフに所属の平均在籍人数を追記し、相対的に人数の多い部署や少ない部署を確認する。

グラフの作り方

  • Pythonのseaborn.countplotによる可視化例。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import japanize_matplotlib
import seaborn as sns

sns.set_theme(style='darkgrid')
plt.rcParams["figure.figsize"] = (8, 12)
japanize_matplotlib.japanize()

df_hr = pd.read_csv('./HR-toydata/HRトイデータ_人事情報_拡張版.csv')

fig, ax = plt.subplots()
sns.countplot(data=df_hr, y='所属')
ax.set_title('所属毎の在籍人数(ヘッドカウント)')

hc_mean = df_hr.groupby('所属').size().mean() # 部の平均在籍人数
ax.axvline(x=hc_mean, c='sandybrown', linestyle='--')
ax.text(x=hc_mean+0.1, y=38, s=f'平均在籍人数: {hc_mean}', c='black')
  • seaborn.barplotを使う場合は、事前に集計しておく必要がある。
df_counts = df_hr.groupby('所属').size().reset_index(name='人数')
fig, ax = plt.subplots(figsize=(8, 12))
sns.barplot(data=df_counts, x='人数', y='所属', ax=ax)