使用groupby()时,如何使用包含组编号索引的新列创建DataFrame,类似于dplyr::group_indicesR中.例如,如果我有
>>> df=pd.DataFrame({'a':[1,1,1,2,2,2],'b':[1,1,2,1,1,2]})
>>> df
a b
0 1 1
1 1 1
2 1 2
3 2 1
4 2 1
5 2 2
Run Code Online (Sandbox Code Playgroud)
我怎么能得到一个像DataFrame
a b idx
0 1 1 1
1 1 1 1
2 1 2 2
3 2 1 3
4 2 1 3
5 2 2 4
Run Code Online (Sandbox Code Playgroud)
(idx索引的顺序无关紧要)
我有一个df这样的数据框,但更大。
ID_0 ID_1 location
0 a b 1
1 a c 1
2 a b 0
3 d c 0
4 a c 0
5 a c 1
Run Code Online (Sandbox Code Playgroud)
我想添加一列来标识前两个。例如:
ID_0 ID_1 location group_ID
0 a b 1 0
1 a c 1 1
2 a b 0 0
3 d c 0 2
4 a c 0 1
5 a c 1 1
Run Code Online (Sandbox Code Playgroud)
此新列来自映射“ ab”到0,“ ac”到1和“ dc”到2。
我认为第一步是
grouped = df.groupby(['ID_0', 'ID_1'])
Run Code Online (Sandbox Code Playgroud)
但我不确定从那里去哪里。
您如何在熊猫中创建这个新专栏?