「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
から始めてみてください!