다음 데이터 프레임 df
이 피팅 동안 행을 계산하는 방법 :몇 가지 규칙
df =
ID_DATA FD_1 FD_2 FD_3 FD_4 GRADE
111 23 12 34 45 1
111 23 67 45 5
111 12 67 45 23 5
222 23 55 66 4
222 55 66 4
다음과 같이 내가 ID_DATA
당 주파수를 계산 : 그러나
freq = df.ID_DATA.value_counts().reset_index()
freq =
ID_DATA FREQ
111 3
222 2
을, 나는 논리를 변경해야 이 계산의 다음과 같습니다. 내가 df
이 두 목록에서 값의 발생 빈도를 계산해야하는
BaseList = [23,34]
AdjList = [12,45,67]
: FD_*
의 값이 다른 두 개의 목록이 있습니다. 하지만 몇 가지 규칙이 있습니다.
1) 행에 AdjList
에 속하는 FD_*
의 값이 포함 된 경우 BaseList
은 계산하지 않아야합니다. 행에 AdjList
의 값이 포함되지 않은 경우에만 BaseList
의 계산을 수행해야합니다.
2) 행에 BaseList
의 여러 값이 포함되어있는 경우 +1로 계산해야합니다.
3) 행에 AdjList
의 값이 여러 개있는 경우 마지막 열 FD_*
만 계산해야합니다.
ID_DATA FREQ_BaseList FREQ_12 FREQ_45 FREQ_67
111 0 0 3 0
222 1 0 0 0
FREQ_BaseList
값 때문에 규칙 # 1 소성, 111
0 같다 :
결과이 하나이어야한다.