colab python 데이터가공 변형, 교체
개념
데이터 가공 (Data manipulation)
데이터 분석의 80% 이상 데이터 전처리(pre-processing)에 쓰인다.
- 결측값(missing values) 처리
- 중복값(duplicated values) 처리
- 오류값(error values) 처리
- 기존 값을 가공해 새로운 값을 만들기
- 등등...
데이터 가공하기(Data manipulation)
데이터 변형하기(Data transformation)
데이터 분석을 하다보면 데이터셋에 담긴 값을 새로운 데이터로 변형할 일이 많다.
데이터프레임의 하나의 컬럼을 다른 컬럼으로 변환 시키는 방법을 알아보자.
아래 데이터프레임(data)과 meat_to_animal 조합해서 데이터를 변형할 것이다.
step1. data 컬럼(열)을 이용해서 새로운 컬럼 만들기
시리즈(Series)의 map
메서드는 함수나 딕셔너리 같은 객체를 받아서 한 값을 다른 값으로 매핑해준다. 여기서 lower()
는 문자열을 소문자로 바꿔주는 파이썬 문자열의 메서드이다.
data['food'] # food 컬럼을 사용, 간혹 대문자와 소문자가 썪인 경우가 있으니 lower() 통일
data['food'].map(lambda x: meat_to_animal[x.lower()])
step2. 기존 데이터프레임에 새로운 열(column)로 추가하기
새로운 시리즈(Series)를 기존 데이터프레임에 새로운 열(column)로 추가하면 데이터 변형이 끝난다.
# data['animal'] 새로운 시리즈를 추가할 컬럼 이름 선언
data['animal'] = data['food'].map(lambda x: meat_to_animal[x.lower()])
step2. ( assign
매서드 사용)기존 데이터프레임에 새로운 열(column)로 추가하기
데이터베이스에 새로운 컬럼을 추가하는 용도의 assign
이라는 메서드도 유용하게 쓰인다. 이 메서드는 새로운 컬럼 이름에 해당하는 파라미터에 데이터베이스에 적용할 함수를 넣어서 만들 수 있다. 이때 람다(lambda) 함수가 흔히 쓰인다.
# 위의 방법에서 = 과 assign 같은 역할이다
data.assign(animal = lambda df: df['food'].map(lambda x: meat_to_animal[x.lower()]))
# 위와 동일한 결과 도출.
값 교체하기(Replacing)
잘못 측정되거나 오류에 해당하는 값을 다른 값으로 교체해야 할 경우가 있다. 이 때 판다스의
.replace()
메서드를 쓸 수 있다.
# 하나의 시리즈를 먼저 선언한 다음
data = pd.Series([1., -999., 2., -999., -1000., 3.])
# 시리즈 값 중 [-999, -1000]를 nan로 변경
data.replace([-999, -1000], np.nan)
Author And Source
이 문제에 관하여(colab python 데이터가공 변형, 교체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ghj616/colab-python-데이터가공-변형-교체저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)