ストリッププロットによる人事データ可視化例です。ストリッププロットは量的変数のばらつきを点群で可視化する手法で、量的変数とカテゴリ変数の関係を確認するために利用されます。各層の平均値や代表値を重ねることも可能です。

人事データの可視化例

代表値付きストリッププロット

人事データ可視化の狙い

  • 所属別の時間外勤務の状況を比較する。

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

利用するグラフ

  • ストリッププロット: カテゴリカル変数でグループ分けした量的変数の分布を観察する。

アプローチ

  • 時間外時間数を所属(部)でグループ分けして分布を比較する。
  • ストリッププロットの点の散布を観察し、ばらつきの違いを確認する。
  • ストリッププロットに中央値(黒実線)と平均値(赤破線)を追加し代表値の違いを確認する。(代表値の表現にはboxplotを利用)
  • 中央値と平均値のギャップから分布の偏りを確認する。

グラフの作り方

  • Pythonのseaborn.stripplotとseaborn.boxplotによる可視化例。
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='ticks')
plt.rcParams["figure.figsize"] = (6, 6)
japanize_matplotlib.japanize()

# データの読み込みと加工
df_hr = pd.read_csv('./hr-toydata-basic-600.csv')
df_hr['年代'] = pd.Categorical(df_hr['年代'], categories = [20,30,40,50,60])

# グラフ
fig, ax = plt.subplots()
sns.stripplot(data=df_hr, x='部', y='時間外時間数_月平均', alpha=.7, ax=ax)
sns.boxplot(data=df_hr, x='部', y='時間外時間数_月平均', ax=ax,
  showmeans=True, meanline=True, meanprops={'color': 'darkred', 'lw': 1},
  whiskerprops={'visible': False},
  showfliers=False, showbox=False, showcaps=False)

この記事で使ったデータ

以下のページでデータを配布しています。

人事トイデータの公開
こちらのページでは、クニラボで作成した人事トイデータを公開しています。 トイデータとは? トイデータ(Toy Data)とは、演習用に使えるリアルでないデータのことをいいます。データ分析や機械学習のライブラリに附属する場合もあり、手元にデータがなくてもそのライブラリをすぐに試せるのが利点です。 人事データ分析の演習にご活用ください ピープルアナリティクスを学んでみたいが手元に良いデータがない、という方も多いのではないでしょうか。人事データは個人情報を含むため、ピープルアナリティクスプロジェクトの正式なメンバーでないと触ることができません。 そこで、演習用にデータを自作しGoogleドライブより公開しています。これまでも代表のnote記事の中でリンクを張っていたのですが、複数の記事で利用するためこのページを作りました。 * 2023/11/29追記 「HRトイデータ_人事情報_拡張版.csv 」を追加しました。 * 2024/3/23追記 「HRトイデータ_月別時間外.csv 」を追加しました。 * 2024/11/18追記 「HRトイデータ_エンゲージメントスコア