我有一个带有时间值和组值的数据框,作为时间值的运行索引作为列索引。
我想按政变列分组,并在给定每个组
示例数据帧中的位置的情况下添加第二级整数索引:
import numpy as np
import pandas as pd
data = np.array([np.random.randint(0,10,20), np.arange(0,20,1) ])
dataset = pd.DataFrame({'group': data[0, :], 'time': data[1, :]})
dataset.index.name = 'global index'
dataset.sort_values(['group', 'global index'], axis=0)
现在,我不知道如何在不使用for循环和索引遍历每个组的情况下添加二级索引。
IIUC,您对此:
import numpy as np
import pandas as pd
np.random.seed(123)
data = np.array([np.random.randint(0,10,20), np.arange(0,20,1) ])
dataset = pd.DataFrame({'group': data[0, :], 'time': data[1, :]})
dataset.index.name = 'global index'
dataset = dataset.sort_values(['group', 'global index'], axis=0)
dataset = dataset.set_index((dataset.groupby('group').cumcount()).rename('2nd Index'), append=True)
dataset
输出:
group time
global index 2nd Index
8 0 0 8
11 1 0 11
12 2 0 12
16 3 0 16
17 4 0 17
3 0 1 3
7 1 1 7
9 2 1 9
19 3 1 19
0 0 2 0
1 1 2 1
4 0 3 4
14 1 3 14
15 0 4 15
18 1 4 18
2 0 6 2
6 1 6 6
5 0 9 5
10 1 9 10
13 2 9 13
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句