python pandas 集計処理(rank関数)
pandas 集計処理(rank関数)について
■rank処理について rank関数は文字列には対応していない。method引数によって、同じ値のデータが複数存在したときに 順位の決定方法を指定できる。ascending引数によって、並び方の昇順/降順が指定可能。
import numpy as np import pandas as pd
index | ID | 日 | 時 | セッション | 閲覧時間 |
---|---|---|---|---|---|
0 | 328667572 | 31 | 16 | 38 | 5 |
1 | 70373573 | 24 | 23 | 37 | 7 |
2 | 1839656582 | 12 | 20 | 28 | 6 |
4 | 1471882803 | 10 | 22 | 22 | 7 |
5 | 302325623 | 20 | 8 | 22 | 2 |
↓IDをグルーピングして、セッションのrankを計算しカラムを追加↓
sample["rank"]=sample.groupby("ID")["セッション"].rank(ascending=True,method="first")
ndex | ID | 日 | 時 | セッション | 閲覧時間 | rank |
---|---|---|---|---|---|---|
0 | 328667572 | 31 | 16 | 38 | 5 | 9 |
1 | 70373573 | 24 | 23 | 37 | 7 | 10 |
2 | 1839656582 | 12 | 20 | 28 | 6 | 3 |
4 | 1471882803 | 10 | 22 | 22 | 7 | 10 |
5 | 302325623 | 20 | 8 | 22 | 2 | 3 |