>

다음 데이터 프레임이 있습니다 :

df=pd.DataFrame({'cluster':[1,1,1,2,8],'ssn':['123','','','567','123']})

ssns와 일치하는 레코드를 연결하고 싶습니다. 이 경우 클러스터 1과 8을 연결하려고합니다. 예상 출력은 다음과 같습니다.

  cluster  ssn
0       1   123
1       1   
2       1   
3       2   567
4       1   123

이 접근 방법을 정의하는 데 어려움을 겪고 있습니다 (피벗 테이블을 그룹별로 사용해야 함). 따라서이 시나리오에 어떻게 접근 할 수 있는지에 대한 지시 나 제안이 있더라도 이에 대해 작업하겠습니다.


  • 답변 # 1

    pandas.DataFrame.groupby.transform 사용 :

    df['cluster'] = df.groupby('ssn').transform(min)
    
    

    출력 :

      cluster  ssn
    0        1  123
    1        1     
    2        1     
    3        2  567
    4        1  123
    
    

관련 자료

  • 이전 python - 내가 작성한 내 코드는 시도 할 때 잘못된 구문 오류를 발생시킵니다
  • 다음 locking - PHP에서 잠금을 얻는 가장 좋은 방법