'[]'결측치 제거하기
TensorFlow - Help Protect the Great Barrier Reef대회 문제를 풀다가 train을 찍어보니 아래처럼 0번부터 15번까지는 결측치가 있다는 걸 확인했다. 이를 지워주고자 한다.
train = train[train['annotations'].str.len()>0].reset_index(drop = True)
위 코드를 확인해보자.
우선 train안에서 string의 길이가 0 이상인 애들만 annotations
에 남기려고 한다.
뒤에 reset_index(drop = True)
는 인덱스를 처음부터 재배열 해주는 함수다. drop = True
옵션을 주게 되면 기존 인덱스를 버리고 재배열해준다.
더 자세한 인덱스 활용을 참고하자.
이렇게 했더니 결측치가 사라지지 않는다.
결측치 안의 값에 문제가 있는 것 같았다.
train['annotations'][0]
를 찍어서 확인해봤다.
이런 결과가 나온다. 대괄호 좌우에 `가 붙어있어서 문자형으로 출력되기 때문에 문제가 생겼던 모양이다.
.apply(eval)
로 리스트로 변환해주자.
train['annotations'] = train['annotations'].apply(eval)
다시 train['annotations'][0]
를 찍어서 확인해보자.
이제 train을 다시 찍어보면 결측치가 제거되었다.
Author And Source
이 문제에 관하여('[]'결측치 제거하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yelim421/결측치-제거하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)