pandasでピボットテーブル

pandasのデータフレーム型でピボットテーブルを作る方法です

df.pivot_table(values="集計したい列(値)", index="分類する列(キー)", aggfunc="集計方法")

でピボットテーブルを作ることができます。

例えば下記のようなDataFrameがあった場合、

UID 診療科
1 一般内科
2 外科
3 精神科
4 一般内科
5 精神科
6 一般内科
7 一般内科


df.pivot_table(values="UID", index="診療科", aggfunc="count").sort_values(by='UID', ascending=False) 



UID
診療科
一般内科 4
精神科 2
外科 1


となるはず。

pandasで日付データ(str)をdatetime型に変換する

データ読み込み時に指定すれば良いのですが、良く忘れて読み込むのでメモ。

列ごとデータタイプをdatetime型に変更します。

import pandas as pd

data = {"ID": ["hoge", "geho", "hogehoge"], "watch_time": ["00:21:00", "01:24:01", "02:02:34"]}

df = pd.DataFrame(data)

df["watch_time"] = pd.to_datetime(df["watch_time"])