>

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

 A  B  C   D 
---------------
0  A  0  C  D
1  A  0  C  D
2  0  B  C  0
3  A  0  0  D
4  0  B  C  0
5  A  0  0  0

이 형식으로 변환하는 방법 (0이 표시되지 않음) :

  A  B  C  D    E
----------------------
0  A  0  C  D  [A,C,D]
1  A  0  C  D  [A,C,D]
2  0  A  C  0  [A,C]
3  A  0  0  D  [A,D]
4  0  A  C  0  [A,C]
5  A  0  0  0  [A]

마지막으로 다음과 같은 일련의 항목으로 :

[{A,C,D},{A,C,D},{A,C},{A,D},{A,C},{A}]

  • 답변 # 1

    0 필터링과 함께 중첩 목록 이해 사용 :

    #if 0 is number change '0' to 0
    df['E'] = [[y for y in x if y != '0'] for x in df.values.tolist()]
    print (df)
       A  B  C  D          E
    0  A  0  C  D  [A, C, D]
    1  A  0  C  D  [A, C, D]
    2  0  B  C  0     [B, C]
    3  A  0  0  D     [A, D]
    4  0  B  C  0     [B, C]
    5  A  0  0  0        [A]
    
    

    그리고 set s :

    s = [set([y for y in x if y != '0']) for x in df.values.tolist()]
    print (s)
    [{'A', 'D', 'C'}, {'A', 'D', 'C'}, {'C', 'B'}, {'A', 'D'}, {'C', 'B'}, {'A'}]
    
    

관련 자료

  • 이전 asp.net - IIS의 REST
  • 다음 reactjs - 구성 파일을 사용하여 반응 기본 스타일의 동적 스타일링