본문 바로가기
데이터분석과 AI/파이썬을 엑셀처럼 쓰기

8. 채우기(for문)

by 우공80 2022. 12. 13.
728x90

채우기 for문

이제 Excel의 채우기를 해보겠습니다. 

Excel의 채우기는 핸들잡고 드래그만 해주면 되었는데요. 

Excel의 채우기

Python에서는 채우기 같은 기능은 없습니다. 대신 몇가지 대체할 만한 함수가 있습니다.
 
우선 이번에는 for문을 사용해봅니다.
for문은 반복문이라고 하며, 특정 로직을 반복하게 합니다. for문은 아래와 같은 형식으로 사용합니다.   

for 원소 in 리스트:  
   수행할 로직  
 

리스트는 수행대상이며, 리스트의 각 원소에 대해 정해진 로직을 수행하게 됩니다.  

이제 for문을 이용해서 1을 채워 보겠습니다. 
 
# boston_price.index는 0부터 505까지의 값을 가지고 있습니다.
for i in boston_price.index:
    boston_price.loc[i,'SEQ']=1 #i행 'SEQ'열에 1을 할당
    
boston_price['SEQ']

Output:

0      1.0
1      1.0
2      1.0
3      1.0
4      1.0
      ... 
501    1.0
502    1.0
503    1.0
504    1.0
505    1.0
Name: SEQ, Length: 506, dtype: float64

이렇게 1이 채워졌습니다. 그런데, 앞서 7편에서 tmp칼럼을 추가할 때는 그냥 1을 할당해주기만 해도 되었는데요. 왜 이렇게 귀찮은 방법을 쓸까요?

그것은 단순히 1이 아니라 여러 가지 수식이나 함수를 적용하기 위해서입니다.

그럼 이번에는 1부터 순차적으로 증가하게 해 보겠습니다. 행 번호인 i에 1을 더해서 만들어줬습니다.

앞에 for문이 아직 이해가 안 되실 수도 있는데, 아래 그림을 참고하세요

이 for문은 INDEX의 값을 차례대로 계산하여 SEQ에 넣어주고 있습니다.

for문 그림 1
for문 그림2

이것을 코드로 나타낸 것이 아래와 같습니다. 

for i in boston_price.index:
    boston_price.loc[i,'SEQ']=i+1 #i행 'SEQ'열에 i+1을 할당

boston_price['SEQ']

Output:

0        1.0
1        2.0
2        3.0
3        4.0
4        5.0
       ...  
501    502.0
502    503.0
503    504.0
504    505.0
505    506.0
Name: SEQ, Length: 506, dtype: float64

 

이렇게 간단하게 for문을 알아보았습니다.

728x90

댓글