일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- SQL
- 백엔드
- 지도학습
- 데이터 전처리
- 데이터 분석
- 평가 지표
- DecisionTree
- beautifulsoup
- 빠르게 실패하기
- 데이터 프로젝트
- 오차 행렬
- NULLIF
- 비지도학습
- 결정트리
- sorted
- LAG
- nvl2
- 웹서비스 기획
- five lines challenge
- Normalization
- NVL
- 정밀도
- 재현율
- 감정은 습관이다
- CASE WHEN
- Batch Normalization
- layer normalization
- recall
- ifnull
- 강화학습
- Today
- Total
Day to_day
[하루한끼_데이터] 데이터 전처리 1 본문
데이터 전처리
비건 레시피를 제공하는 웹서비스에서 가장 중요한 것은 충분한 비건 레시피 데이터일 것이다.
데이터를 모두 수집할 순 없으니 kaggle에서 비건 레시피 데이터를 사용했다.
Vegan Recipes
Recipes crawled from different vegan recipes websites
www.kaggle.com
간단히 데이터를 살펴보자면 아래와 같다.
데이터 기본 정보
- href : 해당 레시피 링크 (veganuary.com, simple-veganista.com)
- title : 레시피 제목
- ingredients : 재료
- preparation : 조리 과정
여기서 "href"는 웹서비스에 직접적으로 보이진 않지만 이미지 크롤링을 진행하기 위해 따로 빼두어야 하는 정보이고, title은 따로 전처리할 부분이 없어 보인다.
그렇다면 ingredients와 preparation을 살펴보자
ingredients
preparation
전체 데이터를 모두 볼순 없어서 특정 ingredients, preparation 데이터를 뽑아서 대충 눈으로 확인했다.
전처리 계획
1. Unnamed: 0
- 'index'로 칼럼 이름 변경
2. ingredients
- '\n Ingredients \n' 제거
- '\n\n\nIngredients\n\n\n\nUnits\nUSM \n\nScale\n1x2x3x \n\n\n\n\n' 제거
- 연속되는 '\n' 제거
3. preparation
- 'Instructions' 제거
- 'Method' or 'Preparation' 제거
- '\xa0' 제거
- 연속된 공백, '\n' 제거
1. Unnamed: 0
df.rename(colums = {"현재 칼럼 이름" : "바꿀 새 칼럼 이름"}) 를 이용해서 index를 set 해주었다.
2. ingredients
ingredients 칼럼을 전처리하려고 할 때 처음엔 파이썬으로 특정 문자를 찾는 함수인 find()를 이용했었다.
그런데 적용할수있는게 한계가 있기도 했고, 정규표현식을 이용하면 더 편하게 할 수 있다는 것을 알고 한번 정규표현식을 이용해서 전처리해보기로 했다.
find 함수에 대해서는 아래 링크를 통해 볼 수 있다.
Python String find() Method
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
앗.. 근데 정규표현식을 정리하자니 너무 글이 길어질 것 같아서 우선 다른 포스팅으로 올리기로 하자! ㅎㅎ
'Project' 카테고리의 다른 글
[하루한끼_데이터] 이미지 url 크롤링 (0) | 2022.11.09 |
---|---|
[하루한끼_데이터] 데이터 전처리 2 : 정규표현식 (0) | 2022.11.07 |
[하루한끼_백엔드] Express Request 확장하기 (1) | 2022.11.01 |
[하루한끼_백엔드] 타입스크립트 기본 문법 (0) | 2022.10.27 |
[하루한끼_백엔드] Typescript로 백엔드 개발 환경 만들기 (0) | 2022.10.27 |