특정 값이 여러 번 나타나는 팬더 데이터 프레임이 있습니다. 중복되는 모든 값을 제거하거나 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
여기에 한 가지 방법이 있습니다
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] 삭제
몇 마디 만하겠습니다