>source

아래 열이있는 데이터 프레임이 있습니다.

STORE   METHOD  DIVISION    PROB    VALUEX
20  1   5   0.85    0.759069373
20  2   5   0.85    2.663386705
20  3   5   0.85    2.511800796
20  1   6   0.85    0.170134162
20  3   6   0.85    0.921435575
20  3   7   0.85    0.947311849
20  1   8   0.85    3.394515939
20  2   8   0.85    0.844450117
20  3   8   0.85    0.813148774

따라서 모든 DIVISION, PROB 그룹 열에 대해 세 가지 방법 1,2,3이 있습니다. 나눗셈 5를 관찰하는 경우 세 가지 방법 (1,2,3)이 모두 있지만 나눗셈 6에는 1,3 방법 만 있습니다. 따라서이 경우 메서드 2 값의 평균으로 VALUEX 열이있는 누락 된 메서드 (이 경우 2가 누락 됨)에 대한 새 행을 추가해야합니다.

  • 답변 # 1

    피벗, 값 채우기 및 스택 해제를 시도해 보겠습니다.

    x = df.pivot_table(index=['STORE','DIVISION','PROB'],
                   columns=['METHOD'], values='VALUEX')
    means = x.mean(1)
    x = x.apply(lambda s: s.fillna(means))
    x.stack().reset_index(name='VALUEX')
    
    

    산출:

       STORE  DIVISION  PROB  METHOD    VALUEX
    0      20         5  0.85       1  0.759069
    1      20         5  0.85       2  2.663387
    2      20         5  0.85       3  2.511801
    3      20         6  0.85       1  0.170134
    4      20         6  0.85       2  0.545785
    5      20         6  0.85       3  0.921436
    6      20         7  0.85       1  0.947312
    7      20         7  0.85       2  0.947312
    8      20         7  0.85       3  0.947312
    9      20         8  0.85       1  3.394516
    10     20         8  0.85       2  0.844450
    11     20         8  0.85       3  0.813149
    
    

관련 자료

  • 이전 escaping - 쉘에서 아포스트로피가있는 이름 찾기 및 이스케이프
  • 다음 javascript - 내 HTML onload 이벤트 속성이 스크립트 요소에서 무시되는 이유는 무엇입니까?