パンダでは、特定のグループ化に基づいて行を列挙する新しい列を追加するにはどうすればよいですか?
たとえば、次の DataFrame があるとします。
import pandas as pd
import numpy as np
a_list = ['A', 'B', 'C', 'A', 'A', 'C', 'B', 'B', 'A', 'C']
df = pd.DataFrame({'col_a': a_list, 'col_b': range(10)})
df
col_a col_b
0 A 0
1 B 1
2 C 2
3 A 3
4 A 4
5 C 5
6 B 6
7 B 7
8 A 8
9 C 9
のグループ化と並べ替えにcol_c
基づいて、「グループ」の N 番目の行を与えるa を追加したいと思います。col_a
col_b
望ましい出力:
col_a col_b col_c
0 A 0 1
3 A 3 2
4 A 4 3
8 A 8 4
1 B 1 1
6 B 6 2
7 B 7 3
2 C 2 1
5 C 5 2
9 C 9 3
にたどり着くのに苦労していますcol_c
。で適切なグループ化と並べ替えを行うことができます.sort_index(by=['col_a', 'col_b'])
。新しい列に移動して各行にラベルを付けるだけです。