안녕하세요.
오늘은 파이썬 리스트 내 중복 값을 제거하는 방법 및 실제 예시에 대해 알아보겠습니다.
파이썬 리스트 중복 제거
▣ 파이썬 리스트 중복 제거 방법 3가지
- set 집합형 자료 활용
- for 반복문 활용
- dictionary keys 활용
1. set(집합)
set 자료구조의 특징인 자료 내에서 중복은 불가능하다는 성질을 활용하여 중복 제거
sample = ["a","b","c","d","a","a","b","c","e"]
result = list(set(sample)); print(result)
## result : ["a","b","c","d","e"]
순서: 리스트 → 집합(set): 중복 제거 → 리스트
2. for 반복문
for문 내 중복되지 않는 조건문(if x not in 리스트)을 통해 중복 제거
sample = ["a","b","c","d","a","a","b","c","e"]
result = [] #중복 제거 리스트
for i in sample:
if i not in result:
result.append(i)
print(result)
# ['a', 'b', 'c', 'd', 'e']
순서: 중복 제거 리스트 생성 → 반복문 내 조건문으로 중복되지 않는 값만 리스트에 추가
3. dictionary keys
중복이 불가능한 규칙을 가진 딕셔너리 구조 활용하여 중복 제거
sample = ["a","b","c","d","a","a","b","c","e"]
keys_result = dict.fromkeys(sample)
print(keys_result)
# {'a': None, 'b': None, 'c': None, 'd': None, 'e': None}
print(list(keys_result))
# ['a', 'b', 'c', 'd', 'e']
순서: dict.fromkeys(리스트) 중복이 제거된 키 값들 변환 → 다시 리스트로 변환
실제 활용 예시
▣ Sample 데이터 프레임
시간대 | 방문자 명단 |
9 | Jane, Chris, Shen, Jane, Jenny, Chris, June |
10 | Paul, Bao, Bo, Bao, Paul, Jerry |
11 | Kane, Fehn, Kane, Suzy, Fehn |
12 | Jamy, Amy, Jamy, Sheeran, Bieber |
13 | Berham, Molly, Mike, Molly |
▣ Python Code
# 목표 : 엑셀 열에서 해당 셀에 대한 중복 제거
import pandas as pd
df = pd.read_excel('C:/Users/코딩하는 금융인/Desktop/sample.xlsx')
visitors = df.loc[:,'방문자 명단']
data_list = []
for v in visitors:
visitors_set = set(v.split(','))
data = {'visitors_set': visitors_set}
data_list.append(data)
result_df = pd.DataFrame(data_list, columns=['visitors_set'])
print(result_df)
'''
##출력물
visitors_set
0 { Jane, June, Chris, Shen, Jenny, Jane}
1 {Paul, Bao, Paul, Jerry, Bo}
2 { Fehn, Kane, Kane, Suzy}
3 {Jamy, Sheeran, Amy, Jamy, Bieber}
4 { Molly, Mike, Berham}
'''
반응형
'Programming > Python' 카테고리의 다른 글
파이썬 국내 주식시장 영업일/휴장일 구분하기 (0) | 2022.04.09 |
---|---|
파이썬 브라우저 구글 코랩 소개 및 사용법 (0) | 2022.03.18 |
파이썬 haversine 위경도 거리 계산하기 (0) | 2021.11.19 |
[Python] 순열, 조합 itertools 설명 및 예제 (0) | 2021.08.24 |
파이썬 문제 및 연습 사이트 추천 (5) | 2021.08.03 |
댓글