2024. 4. 6. 09:38ㆍ프로젝트/빵맛집 추천서비스 웹배포
01 문제 해결 과정
1. 아침 종로구 절반에서 멈춤. 스크롤을 다 내리지도 못하고 시간은 285분이 찍힘. 자세히버튼 프린트도 없음.
- 몽핀에서 멈춰있었다. new height의 위치를 이동함.
- 자세히를 누르면 나오는 길이 갱신 때문에 난 에러인지? 솔직히 이거 말곤 모르겠다. 무한 로딩이었을까?
- print(f"자세히 버튼을 {num}번 클릭했습니다.")를 실행하지도 않고 코드실행이 완료되었다고 끝내버렸다면 그 이유가 뭘까?
2. 소득수준이 높을 수록 백화점에서 빵을 산다. 라는 인사이트를 얻었다.
3. 팀원분 112번째 "안국" 가게에서 구글이 에러나면서 크롤링이 멈췄다. 111까지 merge 완료.
4. 중구, 동대문구, 강남구, 성북구, 마포구, 종로구 완료
02 종로구 코드 문제 해결
문제 행동
1. 가게 정보를 수집했고, 리뷰 버튼과 정렬도 다 눌렀음.
2. 근데 스크롤을 다 못내림.
3. 시간은 285분이 찍혀있음.
4. 에러가 안났음. 끝남.
궁금한 점 : print(f"자세히 버튼을 {num}번 클릭했습니다.")를 실행하지도 않고 전체 코드 실행이 완료되었다고 인지하고 끝내버렸다면 그 이유가 뭘까?
- 일단 '자세히'버튼을 누르면 길이가 갱신되어서 에러를 발생시킬 수도 있을 것 같다. 위치를 이동한다.
- 시간을 4~5초로 부여한다.
- 60번 정도 돌면 충분히 쉬게 해줘야하나?
03 기타 문제 해결 인사이트
# 1-1. 중복체크 데이터프레임
info_df[info_df['Store'].map(info_df['Store'].value_counts()) >= 2]
# 1-2. 중복체크 데이터프레임
info_df.groupby('Store').filter(lambda x: len(x) >= 2)
# 2-1. 중복체크 시리즈에 불리언식을 적용했다. 람다가 더 쉬움.
value_counts = info_df['Store'].value_counts()
value_counts[value_counts >= 2]
# 2-2. 중복체크 시리즈에 람다함수를 적용했다.
info_df['Store'].value_counts()[lambda x: x >= 2]
# mapping 메서드 설명
1. info_df['Store'].value_counts(): 'Store' 컬럼에 대해 각 고유값의 빈도수를 계산합니다. 이는 각 매장 이름('Store' 컬럼의 값)이 데이터셋 내에서 몇 번 등장하는지를 나타내는 Series 객체를 반환합니다.
2. info_df['Store'].map(...): 이전 단계에서 생성된 Series 객체를 사용해, 원래 'Store' 컬럼의 각 값에 대응하는 빈도수를 "매핑"합니다. 즉, 각 행의 'Store' 값이 데이터셋 내에서 몇 번 등장하는지 해당 행에 대응하는 숫자로 각각 바꿉니다.
3. info_df[info_df['Store'].map(...) >= 2]: 빈도수가 2 이상인 경우만을 필터링합니다. map 함수를 통해 변환된 빈도수가 2 이상인 'Store' 값을 가진 행들만을 선택하여 반환합니다.
'프로젝트 > 빵맛집 추천서비스 웹배포' 카테고리의 다른 글
04.08 20만건 데이터 수집완료, 팀원과 전처리 하는 중 (1) | 2024.04.08 |
---|---|
04.07 크롤링은 끝. 데이터 전처리 시작. (feat.factorize) (0) | 2024.04.07 |
04.05 크롤링 '자세히' 클릭 코드 추가 및 기타 진행 사항 (0) | 2024.04.05 |
04.04 크롤링 문제 해결 과정 (0) | 2024.04.04 |
04.03 전처리, 크롤링 문제 해결 과정 (0) | 2024.04.03 |