모든 중복 항목을 제거하거나 Pandas 데이터 프레임에서 고유 값을 얻는 방법은 무엇입니까?

고 피나 스 S

특정 값이 여러 번 나타나는 팬더 데이터 프레임이 있습니다. 중복되는 모든 값을 제거하거나 NaN으로 바꾸고 마지막으로 고유 한 값이있는 열의 이름을 얻고 싶습니다. Pandas drop_duplicates 함수는 중복 값이있는 행만 제거하지만 데이터 프레임에서 값 / 셀을 제거하고 싶습니다. 이에 대한 해결책이 있습니까?

아래의 입력 데이터 프레임을 기준으로 "02"열의 첫 번째 행을 제외한 모든 값이 데이터 프레임에서 중복 발생하므로 "02"열이 원하는 것입니다. 질문이 명확하지 않으면 알려주십시오. 감사.

DF: 02 03:10 03:02 03:02:09 0 6716 45355 45355 45355 1 4047 4047 7411 7411 2 945 2478 2478 945
예상 출력 : col_with_unique_val = "02"

또는

Expected output DF: 
      02  03:10  03:02  03:02:09
  0  6716  NaN NaN NaN 
  1  NaN NaN NaN NaN 
  2  NaN NaN NaN NaN 

또는

Expected output DF: 
    02
0  6716
BEN_YO

여기에 한 가지 방법이 있습니다

df.mask(df.apply(pd.Series.duplicated,keep=False,axis=1))
       02  03:10  03:02  03:02:09
0  6716.0    NaN    NaN       NaN
1     NaN    NaN    NaN       NaN
2     NaN    NaN    NaN       NaN

df.mask(df.apply(pd.Series.duplicated,keep=False,axis=1)).stack().index.get_level_values(1)
Index(['02'], dtype='object')

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사