데이터 분석/Python, R 문법
[Python] For Loop vs loc 실행시간 비교
장찐
2022. 10. 29. 19:11
📚 For loop 수행시간 비교
• dataframe의 특정 column에 대해서 여러 조건으로 값을 필터링하거나 수정하는 경우
→ for loop를 사용하는 것 보다 loc 사용하는 것이 훨씬 효율적임
row가 5,000,000개인 데이터 프레임 df에 대해서,
(year == 2021) & (month ==1) & (week == 53) 일 경우 week 값을 1로 수정하고 싶다면
1) for loop 사용
for i in range(0, len(df)):
if (df['year'].iloc[i] == 2021) and (df['month'].iloc[i]==1) and (df['week'].iloc[i]==53):
df['week'].iloc[i] = 1
2) loc 사용
df.loc[(df['year'] == 2021) & (df['month'] ==1) & (df['week'] ==53 ),'week'] = 1
loc 를 사용하는 방식이 훨씬 빠름
df.loc[(df['year'] == 2022) & (df['month'] ==1) & (df['week'] ==52 )]
df.loc[(df['year'] == 2022) & (df['month'] ==1) & (df['week'] ==52 ),'week']
여러 조건에 따라 데이터프레임을 필터링 하거나,
해당 조건에 맞는 특정 컬럼만 출력할 때도 위 방식이 편리함