본문 바로가기

개인공부 정리/다양한 질문들

파이썬 머신러닝 판다스 데이터 분석 4_3, 5 질문 - 시각화, 데이터 사전 처리 - zip함수와 enumerate 함수의 차이점

 

Q1. 여기서 zip이 의미하는 것과 zip이 애니멀레이트와 차이점이 무엇인지 궁금해

# %%
# 지도에 마커 표시하기
import pandas as pd
df=pd.read_excel("/content/drive/MyDrive/BDA/part4/서울지역 대학교 위치.xlsx",engine="openpyxl")
seoul_map = folium.Map(location=[37.55,126.98],tiles="Stamen Terrain",
                       zoom_start=12)

for name, lat, lng in zip(df.index,df.위도,df.경도):
    folium.Marker([lat,lng],popup=name).add_to(seoul_map)

seoul_map.save("./seoul_colleges.html")

1

zip()은 파이썬 내장 함수 중 하나로, 여러 개의 리스트를 같은 인덱스끼리 묶어서 하나의 튜플로 반환해주는 역할을 합니다. 예를 들어, a = [1, 2, 3] b = ['a', 'b', 'c'] c = [10, 20, 30] zip(a, b, c) 의 결과는 [(1, 'a', 10), (2, 'b', 20), (3, 'c', 30)]입니다. 이 코드에서는 df.index, df.위도, df.경도 리스트들을 같은 인덱스끼리 묶어서 for loop을 돌면서 각 지점의 위도와 경도 정보를 가져와서 folium.Marker() 함수를 이용해 지도에 마커를 표시하고 있습니다. enumerate() 함수는 zip()과는 달리 인덱스와 값을 같이 반환합니다. zip()이 리스트를 하나로 묶어준 것에 비해 enumerate()는 하나의 리스트를 받아서 (인덱스, 값)의 튜플로 반환해줍니다. 이 함수는 for loop에서 자주 사용됩니다.

 

 

2

zip() 함수는 여러 개의 리스트를 동시에 묶어서 튜플로 만들어 주는 함수입니다. 예를 들어, A라는 리스트와 B라는 리스트가 있으면 A와 B를 동시에 처리해서 (A[0], B[0]), (A[1], B[1]), (A[2], B[2])... 이런식으로 튜플로 만들어 줍니다. 이렇게 만들어진 튜플들을 for loop을 통해 하나씩 가져와서 사용할 수 있습니다. enumerate() 함수는 하나의 리스트에서 각 요소들의 인덱스와 값을 가져오는 함수입니다. 예를 들어, A라는 리스트가 있으면 A[0], A[1], A[2]... 이런식으로 하나씩 요소를 가져올 수 있는데, 이때 enumerate() 함수를 사용하면 A[0]의 인덱스가 0이라는 것과 값을 함께 가져올 수 있습니다. 따라서 for loop에서 enumerate(A)를 사용하면 (0, A[0]), (1, A[1]), (2, A[2])... 이런식으로 튜플을 만들어서 사용할 수 있습니다. 요약하자면, zip() 함수는 여러 개의 리스트를 동시에 처리하고, enumerate() 함수는 하나의 리스트에서 각 요소의 인덱스와 값을 함께 처리합니다.

 

 

 

 

728x90
반응형
LIST