이번 프로젝트에서는 Python의 리스트(List)와 관련된 다양한 함수를 사용하여 의료 보험 데이터를 관리하고 분석하는 방법을 실습했다.
리스트는 데이터를 저장하고 조작하는 데 매우 유용한 자료구조로, 다양한 내장 함수를 활용하면 더 효과적으로 데이터를 처리할 수 있다.
1. 데이터 준비
먼저, 보험 가입자의 이름과 보험 비용 데이터를 각각 리스트로 저장했다.
names = ["Mohamed", "Sara", "Xia", "Paul", "Valentina", "Jide", "Aaron", "Emily", "Nikita", "Paul"]
insurance_costs = [13262.0, 4816.0, 6839.0, 5054.0, 14724.0, 5360.0, 7640.0, 6072.0, 2750.0, 12064.0]
names 리스트는 가입자의 이름을 저장하고, insurance_costs 리스트는 각 가입자의 보험 비용을 저장한다.
2. 새로운 데이터 추가: append() 함수
새로운 가입자 "Priscilla"와 그녀의 보험 비용 8320.0을 리스트에 추가했다.
names.append("Priscilla")
insurance_costs.append(8320.0)
- append(value): 리스트의 맨 마지막에 새로운 요소를 추가한다.
- 이로 인해 데이터가 업데이트되었으며, 이후 분석에 반영된다.
3. 두 리스트 결합: zip() 함수
각 가입자의 보험 비용과 이름을 쌍(pair)으로 묶기 위해 zip() 함수를 사용했다.
medical_records = list(zip(insurance_costs, names))
print(medical_records)
- zip(list1, list2): 두 개의 리스트를 튜플 형태로 묶어주는 함수이다.
- 이를 list()로 감싸 리스트로 변환하여 medical_records에 저장했다.
출력 예시:
[(13262.0, 'Mohamed'), (4816.0, 'Sara'), (6839.0, 'Xia'), (5054.0, 'Paul'), ...]
4. 데이터 개수 확인: len() 함수
의료 기록 데이터의 총 개수를 확인했다.
num_medical_records = len(medical_records)
print("There are " + str(num_medical_records) + " medical records.")
- len(list): 리스트의 전체 요소 개수를 반환한다.
- 총 11개의 데이터가 있으며, 새로운 가입자 "Priscilla"도 반영된 것을 확인할 수 있다.
5. 첫 번째 의료 기록 확인
리스트에서 첫 번째 의료 기록을 출력했다.
first_medical_record = medical_records[0]
print("Here is the first medical record: " + str(first_medical_record))
- list[index]: 리스트에서 특정 인덱스의 요소를 가져오는 방법이다.
- medical_records[0]는 첫 번째 요소를 가져온다.
6. 보험 비용 기준 정렬: sort() 함수
보험 비용을 기준으로 의료 기록을 정렬했다.
medical_records.sort()
print("Here are the medical records sorted by insurance cost: " + str(medical_records))
- sort(): 리스트를 오름차순으로 정렬한다.
- 기본적으로 첫 번째 요소(보험 비용)를 기준으로 정렬된다.
정렬 결과 예시:
[(2750.0, 'Nikita'), (4816.0, 'Sara'), (5054.0, 'Paul'), ...]
7. 보험 비용이 가장 저렴한 3명 찾기
cheapest_three = medical_records[:3]
print("Here are the three cheapest insurance costs in our medical records: " + str(cheapest_three))
- list[:n]: 리스트에서 처음 n개의 요소를 슬라이싱하는 방법이다.
- medical_records[:3]는 보험 비용이 가장 저렴한 3명의 의료 기록을 추출한다.
8. 보험 비용이 가장 비싼 3명 찾기
priciest_three = medical_records[-3:]
print("Here are the three most expensive insurance costs in our medical records: " + str(priciest_three))
- list[-n:]: 리스트에서 마지막 n개의 요소를 슬라이싱하는 방법이다.
- medical_records[-3:]는 보험 비용이 가장 높은 3명의 의료 기록을 추출한다.
9. 특정 이름 개수 찾기: count() 함수
이름 "Paul"이 몇 번 등장하는지 확인했다.
occurrences_paul = names.count("Paul")
print("There are " + str(occurrences_paul) + " individuals with the name Paul in our medical records.")
- count(value): 리스트에서 특정 값이 몇 번 등장하는지 반환한다.
- "Paul"이라는 이름이 데이터에 몇 명 있는지 확인하는 데 사용했다.
10. 정리
✅ 이번 실습에서 사용한 주요 리스트 함수
함수설명
append(value) | 리스트 끝에 요소 추가 |
zip(list1, list2) | 두 리스트를 튜플로 묶어 리스트로 반환 |
len(list) | 리스트의 요소 개수 반환 |
sort() | 리스트를 오름차순으로 정렬 |
list[index] | 특정 인덱스의 요소 가져오기 |
list[:n] | 처음 n개의 요소 가져오기 (슬라이싱) |
list[-n:] | 마지막 n개의 요소 가져오기 (슬라이싱) |
count(value) | 리스트에서 특정 값 개수 반환 |
이러한 리스트 메서드를 활용하면 데이터를 효과적으로 추가, 검색, 정렬 및 분석할 수 있다.
'Data Analysis' 카테고리의 다른 글
Frida Kahlo Exhibition Project: 파이썬으로 투어리스트 정리 (0) | 2025.04.11 |
---|---|
Medical Insurance 비용 변화 분석 - Python(리스트,조건문 활용) (0) | 2025.04.10 |
Medical Insurance 비용 변화 분석 - Python(리스트 활용) (0) | 2025.04.09 |
Medical Insurance 비용 변화 분석 - Python (0) | 2025.04.08 |
데이터 분석 기법: 탐색에서 예측까지 (0) | 2025.04.08 |