본문 바로가기
판다스/기초 파이썬

[python] 4.2. 제어문 - 반복문

by 김판다t 2024. 11. 9.

데이터 분석 입문을 위한 기초적인 파이썬 내용을 다룹니다. 데이터 분석은 주로 파이썬의 라이브러리인 판다스를 활용해 이루어지며, 이를 위해 기본적인 파이썬 개념에 대한 이해가 필요합니다. 하지만 이것은 파이썬을 완벽하게 숙달해야 한다는 의미는 아닙니다. 그렇기에 판다스와 데이터 분석에 입문할 수 있도록 핵심 파이썬 개념을 간략하게 제공할 것입니다.

 

 

4.2. 반복문

반복문은 특정 조건이 만족하는 동안 코드를 반복 실행합니다. 파이썬에는 for 문과 while 문이 있지만, 기본적인 for 문만으로도 데이터 분석에 필요한 대부분의 반복 작업을 수행할 수 있습니다.

 

for문

 

파이썬의 for 문은 가장 널리 사용되는 반복문 중 하나로, "for 파트"와 "do 파트"로 구성됩니다. for 파트에서는 주어진 리스트나 반복 가능한(iterable) 객체의 원소들이 순차적으로 변수에 할당됩니다. 이렇게 할당된 변수는 do 파트에서 사용되어 지정된 코드를 수행하게 됩니다.

# 리스트 내 각 원소의 자료형을 출력하는 반복문
for i in ['a', 1, 3.1, 'b']: # 각 원소가 순차적으로 대입되는 변수 i
    print(type(i)) # 변수 i의 자료형을 출력
<class 'str'> # 'a'의 자료형을 출력
<class 'int'> # 1의 자료형을 출력
<class 'float'> # 3.1의 자료형을 출력
<class 'str'> # 'b'의 자료형을 출력
 

위 코드에서 i는 리스트의 각 원소가 순차적으로 대입되는 변수이며, do 파트에서 print(type(i))가 반복 실행됩니다. 만약 이 작업을 반복문 없이 수행하려면 코드가 다음과 같이 길어질 것입니다.

# 반복문 없이 동일한 작업을 수행
print(type('a'))
print(type(1))
print(type(3.1))
print(type('b'))

 

이렇게 for 문을 사용하면 코드가 더 간결하고 가독성이 높아집니다.

 

완전히 동일한 작업을 반복하는 경우

 

완전히 동일한 작업을 반복해야 하는 경우라면 do 파트에 변수를 사용하지 않아도 됩니다. 예를 들어, 'A'를 네 번 출력하려면 do 파트에는 print('A')만 넣으면 충분합니다. 이때 변수가 do 파트에서 사용되지 않기 때문에, for 문에 지정할 배열은 단순히 길이가 4인 배열이면 됩니다. 보통 이런 경우 range 함수를 사용해 배열을 생성합니다. 

# 'A' 네 번 출력하기
for _ in range(4): 
    print('A')

 

A
A
A
A
 

range(4)는 0부터 3까지의 배열을 생성하여, 길이가 4인 배열을 손쉽게 만들 수 있습니다. 이때 _는 변수가 관련 없는 단순 반복임을 나타내기 위해 사용된 변수 이름입니다. 

 

for 문으로 배열 매핑하기

 

for 문을 사용하면 배열을 매핑하여 새로운 배열을 생성할 수 있습니다. 예를 들어, 리스트 [1, 2, 3, 5]의 각 원소를 두 배로 만들어 [2, 4, 6, 10]이라는 배열을 생성하려면 다음과 같이 작성합니다. 

# 빈 리스트 result를 생성
result = []

for i in [1, 2, 3, 5]:  
    result.append(i * 2) # 각 원소인 i를 2배로 곱해 리스트 result에 추가

# 최종 결과 출력
print(result)  # 출력 결과: [2, 4, 6, 10]
 

위 코드에서는 리스트의 각 원소가 i에 대입되고, i * 2의 결과를 새로운 리스트 result에 추가하여 배열을 매핑했습니다.

 

조건에 따라 배열을 필터링하기

 

for 문에서 리스트에 반복적으로 append를 사용하고 if 문을 결합하면, 배열에서 특정 조건에 맞는 원소만 남길 수 있습니다. 예를 들어, 리스트 [1, 2, 3, 5]에서 홀수만 남기는 코드 예제는 다음과 같습니다.

 

# 빈 리스트 result를 생성
result = []

for i in [1, 2, 3, 5]:  
    if i % 2 != 0:  # i가 홀수인 경우에만 result에 추가
        result.append(i)

# 최종 결과 출력
print(result)  # 출력 결과: [1, 3, 5]
 
 
판다스와 반복문

 

※ 판다스는 기초 파이썬과 직접 관련이 없으므로, 추후 판다스를 학습한 후에 확인하셔도 됩니다.

반복문은 파이썬의 제어문 중에서도 중요한 요소이지만, 데이터 분석에서는 반복문의 사용이 상대적으로 적습니다. 판다스에서는 반복문 대신 벡터화 연산을 통해 데이터를 처리함으로써 속도와 효율성을 크게 향상할 수 있기 때문입니다. 숙련된 판다스 사용자일수록 반복문 대신 벡터화 연산을 선호하며, 이를 통해 데이터 처리 속도를 높이는 것이 판다스를 효율적으로 사용하는 핵심입니다. 따라서 데이터 분석 시 반복문이 필요할 때도 있지만, 가능하다면 벡터화 연산을 사용하는 것이 더 유리합니다.


 

유튜브에서 판다스 강의 중입니다.

https://www.youtube.com/@KimPandas

'판다스 > 기초 파이썬' 카테고리의 다른 글

[python] 번외. Null  (0) 2024.11.11
[python] 5. 키워드  (2) 2024.11.11
[python] 4.1. 제어문 - 조건문  (0) 2024.11.09
[python] 3.9. 자료형 - 집합  (4) 2024.11.07
[python] 3.8. 자료형 - 딕셔너리  (3) 2024.11.06