プログラミング入門

Pandasでできる!勤怠データ整形の実例【初心者向け】

「Excelで毎回コピペと手作業を繰り返しているけど、なんとか自動化したい…」
「でも、Pythonってハードル高そうで、自分には無理かも…」

そんなふうに思っていませんか?

私も最初は 「Pandasって何?それって食べ物?」 くらいの初心者でした(笑)。でも、実際に使ってみると「もっと早く知りたかった!」と思えるほど便利なんです。

この記事では、Python超初心者の私が、勤怠データの整形を通してPandasを使い始めた実例を紹介します。

  • ✅ Excelで限界を感じている
  • ✅ 自動化って難しそうと思っている
  • ✅ とりあえず動かしてみたい

コード付きでわかりやすく解説します。読後には、「Pandas、ちょっと触ってみようかな」と思えるはず!


Excelで限界を感じた勤怠データ処理(Before)

私が最初にぶつかった壁は、毎月の勤怠データの集計作業でした。

💻 元データ(CSV):

社員ID 氏名 日付 出勤時刻 退勤時刻 所属部署
001 田中 2024-06-01 09:02 18:15 営業部
001 田中 2024-06-02 08:58 17:50 営業部
002 鈴木 2024-06-01 09:10 18:20 総務部

この表から、以下のことを毎回手作業で行っていました:

  • 営業部の人だけを抽出
  • 社員ごとの勤務日数を集計
  • 別CSVの「社員マスタ」と照合

😩 めんどくさすぎる…


Pandasでサクッと整形!(コード例つき)

🔹1. データの読み込みと抽出

import pandas as pd

# 勤怠データ読み込み
df = pd.read_csv("kintai.csv")

# 営業部の社員だけ抽出
sales_df = df[df["所属部署"] == "営業部"]

🔹2. 社員マスタとの結合(join)

# 社員マスタの読み込み
master_df = pd.read_csv("employee_master.csv")

# 社員IDで結合
merged_df = pd.merge(sales_df, master_df, on="社員ID", how="left")

🔹3. groupbyで勤務日数を集計

# 勤務日数カウント
work_days = merged_df.groupby("氏名")["日付"].nunique().reset_index()
work_days.columns = ["氏名", "勤務日数"]

Pandasでの整形後(After)

氏名 勤務日数
田中 20
鈴木 18

しかも、これらの処理は毎月再利用可能です。コードを1回書けばOK!


まとめ:Pandasは「超便利な道具」だった!

Python初心者の私でも、print文とfor文がわかればPandasは使えました

💡 Pandasを覚えるとできること:

  • 毎月の集計を一瞬で済ませる
  • 手作業ミスを減らせる
  • 手順書通りの作業を自動化できる

あとがき

Pandasは、事務職でも使える「最強の業務効率化ツール」でした。まずは、

import pandas as pd

から始めてみてください!

ABOUT ME
ショート
文系出身・一般&医療事務歴ありの会社員。 「パソコン苦手…」「残業が当たり前…」そんな日々を変えたくて、40代から独学でPythonやExcelの自動化に挑戦中。 プログラミングもブログも初心者レベルからの出発ですが、“早く帰りたい”一心で効率化を追求しています。 つまずいたリアルな失敗談や、「これならできた!」という事例を通して、パソコンに自信がない人の味方になれるブログを目指しています。