시간 값에 대해 실행중인 인덱스에 의해 열 인덱스로 시간 값과 그룹 값이있는 데이터 프레임이 있습니다.
쿠데타 열로 그룹화하고 각 그룹
예제 데이터 프레임 의 위치에 지정된 두 번째 수준 정수 인덱스를 추가하고 싶습니다 .
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, 당신은 이것을 wnat :
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] 삭제
몇 마디 만하겠습니다