크롤링_3 = 무선청소기 비교 with 파이썬 (데이터 분리 및 추출해서 정리하기)
|참고서적: 직장인을 위한 데이터 분석 실무 with 파이썬|
목적 : 여러 제조사별 무선청소기의 가격과 성능에 대한 데이터를 수집하고, 이를 분석하는 과정을 통해 각자의 상황에 맞는 제품군이 무엇인지 분석 + 데이터 정돈 및 정리하는 방법
지난번에는 무선 청소기 검색에 대한 전체 페이지 크롤링하는 방법에 대해 소개하였습니다. 오늘은 모은 데이터를 가공하는 방법에 대해 알려드릴게요. 데이터를 분석하고 이용하기 위해선 데이터를 일목요연하게 정돈해야 그 결과도 더욱더 정확해질 수 있습니다.
1) 무선청소기 상품명 분리하기
상품명을 보시면, 회사명과 모델명이 같이 들어 있는 것을 확인할 수 있습니다. 이런 데이터를 나중에 회사를 기준으로 분석할 때, 데이터 분석에 문제를 가져오기 때문에 먼저 이를 분리해보겠습니다.
In[13]에 4번째 줄을 보면 상품명이 "델로라 V11 파워 300W" 로 되어 있습니다. 그중 회사명인 앞에 있는것만 분리하기 위해서, .split(' ',1) 이말은 공백을 기준으로 1번째 것만 분리한다는 것을 의미합니다.
이외에 빈 리스트 안에, 데이터를 계속 추가 할 수 있도록 .append() 함수를 작성하였습니다. 그리고 확인해보면 아래와 같은 데이터가 잘 분리 된것을 확인할 수 있습니다.
2) 스펙 목록 데이터 중 카테고리, 사용시간 ,흡입력 추출하기
스펙 목록의 데이터를 보시면, '/' 기준으로 되어 있음을 확인할 수 있습니다. 이를 .split(' / ')를 사용해서 데이터를 각각의 요소로 분리해면 In[56]의 결과를 보실수 있습니다. 여기서 질문 왜 첫번째는 분리가 안되었는지,,, 하시는 분이 있을 수 도 있어요, 저도 그러했듯이. 그 이유는 .split(' / ') 살펴보면 / 기준 앞뒤로 공백이 있습니다. 하지만 핸디/스틱청소기의 경우는 앞뒤 공백이 없기 때문에, 분리되지 않은거예요.ㅎㅎ
이렇게 카테고리, 사용시간, 흡입력으로 분리 할 수 있습니다.
여기서 In[70](예제 6-24)의 경우에 책에는 print("흡입력", len(attraction_power_list), attraction_power_list[0:5]라고 적혀있는데, 다음의 변수는 정의 된것이 없기 때문에 우리가 정의한 suction_list로 넣어야 정확한 결과가 나옵니다.
다음 장에는 추출한 데이터중에서 (사용시간, 흡입력)의 단위를 통일하는 방법에 대해서 배워볼게요 ^*^
댓글
댓글 쓰기