📚 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']
여러 조건에 따라 데이터프레임을 필터링 하거나,
해당 조건에 맞는 특정 컬럼만 출력할 때도 위 방식이 편리함
'데이터 분석 > Python, R 문법' 카테고리의 다른 글
[크롤링] 셀레니움 Chrome driver 버전 문제 해결 (0) | 2023.08.20 |
---|---|
[Python] Matplotlib, Shap Plot 한글 깨짐 해결 (0) | 2022.11.05 |
[코테] 그리디 알고리즘 (0) | 2022.08.13 |
for, if 문 한 줄로 작성하기 (0) | 2022.03.08 |
Numpy (넘파이) 기본 함수 정리 (0) | 2022.01.26 |
댓글