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

人事データ可視化の狙い
- 全社的な人員配置戦略を検討するため、組織毎の在籍人数を確認する。
人事データ可視化アプローチ
利用するグラフ
- 棒グラフ: カテゴリ変数の度数や、他の変数に対する統計量を棒の長さで表現する。
アプローチ
- 所属別に従業員数を数え上げ、棒グラフで可視化する。
- グラフに所属の平均在籍人数を追記し、相対的に人数の多い部署や少ない部署を確認する。
グラフの作り方
- 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-basic-600.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)この記事で使ったデータ
以下のページでデータを配布しています。
人事トイデータの公開
こちらのページでは、クニラボで作成した人事トイデータを公開しています。 トイデータとは? トイデータ(Toy Data)とは、演習用に使えるリアルでないデータのことをいいます。データ分析や機械学習のライブラリに附属する場合もあり、手元にデータがなくてもそのライブラリをすぐに試せるのが利点です。 人事データ分析の演習にご活用ください ピープルアナリティクスを学んでみたいが手元に良いデータがない、という方も多いのではないでしょうか。人事データは個人情報を含むため、ピープルアナリティクスプロジェクトの正式なメンバーでないと触ることができません。 そこで、演習用にデータを自作しGoogleドライブより公開しています。これまでも代表のnote記事の中でリンクを張っていたのですが、複数の記事で利用するためこのページを作りました。 * 2023/11/29追記 「HRトイデータ_人事情報_拡張版.csv 」を追加しました。 * 2024/3/23追記 「HRトイデータ_月別時間外.csv 」を追加しました。 * 2024/11/18追記 「HRトイデータ_エンゲージメントスコア

