inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

drop(), dropna(),fillna() 관련 질문

해결된 질문

357

빅분기수강생

작성한 질문수 22

0

좋은 강의 감사합니다. 제목에 기재한 메소드들에 대해 실습하다 헷갈리는게 있어서,

개념 정립차원에서 정리글을 작성해봤는데, 맞는지 확인 좀 부탁드려도 될까요?

 

////////////////////////////////////////////////////////////////////////////////////////////

예: trian데이터 셋에서 작업, "A","B" 칼럼에 결측치 있다고 가정

 

@@@ drop() // 삭제 메소드

@1개의 특정 칼럼(열) 삭제

train = train.drop(["A"], axis=1)

# "A" 로 해도 진행 됨.

@1개의 특정 (칼럼에 해당 하는) 행 삭제

train = train.drop(인덱스값, axis=0)

 

@ 복수의 특정 칼럼(열) 삭제

train = train.drop(["A","B"], axis=1)

@ 복수의 특정 (칼럼에 해당 하는) 행 삭제

train = train.drop([인덱스값들], axis=0)

 

 

@@@ dropna() // 결측치 삭제 메소드

@ 결측치 존재하는 칼럼 전체삭제

train = train.dropna(axis=1)

@ 결측치 존재하는 행 전체삭제

train = train.dropna(axis=0) #axis=0 은 기본값이라 생략가능.

 

@ 복수의 결측치 존재 칼럼(열) 삭제

train = train.dropna(["A","B"], axis=1)

에러 : TypeError: DataFrame.dropna() got multiple values for argument 'axis'

@ 복수의 (특정 칼럼 내) 결측치 존재 행 삭제

train = train.dropna(subset=["A","B"], axis=0)

# train이라는 데이터 셋을 대상으로( train. ), 결측치가 있는 것들 행(axis=0 이 기본)을 제거할 것인데( dropna() ), 그 결측치 우뮤의 기준은 "A","B"칼럼이다 (subset=["A","B"])

 

 

@@@ fillna() // 결측치 채움 메소드

train.fillna(0) # train데이터셋의 결측치를 전부 0으로 채움

 

@특정 칼럼의 결측치들을 특정 값으로 동일하게 채움

train["A"] = train["A"].fillna(0) # "A" 칼럼의 결측치를 모두 0으로 채워 train의 "A"칼럼에 대입하고, 결과를 동일이름의 변수로 적용

@특정 행의 결측치들을 특정 값으로 동일하게 채움

# 어떤 인덱스(행)이 갖는 여러 칼럼을 동일한 값으로 채우는 경우는 사실상 없으므로, 알 필요 없음(...??)

////////////////////////////////////////////////////////////////////////////////

 

일단 여기까지 정리한게 다인데,

 

@ 복수의 결측치 존재 칼럼(열) 삭제

train = train.dropna(["A","B"], axis=1) 이렇게 하면 오류 발생해서...

dropna() 메소드로 결측치 존재하는 특정 칼럼만 지정해서 삭제하려면 어떻게 해야하나요?

 

그리고

 

fillna()메소드에서 @특정 행의 결측치들을 특정 값으로 동일하게 채움

이런 경우는 없을테니, 그냥 넘어가도 괜찮은지 궁금합니다.

 

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

drop()

이상없습니다.

dropna()

  • 결측치가 있는 칼럼 전체 삭제: train.dropna(axis=1)는 결측치가 있는 모든 열을 삭제

  • 결측치가 있는 행 전체 삭제: train.dropna(axis=0)는 결측치가 있는 모든 행을 삭제

  • 특정 칼럼 내 결측치가 있는 행 삭제: train.dropna(subset=["A", "B"], axis=0)는 "A"와 "B" 칼럼 중 하나라도 결측치가 있는 행을 삭제

  • 복수의 결측치 존재 칼럼 삭제: dropna() 메소드는 특정 칼럼을 지정하여 삭제하는 기능 없어요
    결측치가 있는 칼럼을 먼저 찾아낸 후
    drop()을 사용

fillna()

  • 특정 행의 결측치 채우기: 실제로 이런 경우는 드물지만, 가능은 합니다. 예를 들어, train.loc[인덱스].fillna(값)을 사용하여 특정 행의 결측치를 채울 수 있습니다

작업형 1 유형 부분

0

11

1

작업형 1 (삭제예정, 구 버전)

0

31

2

수강기간 연장 문의드립니다.

0

21

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

24

3

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

27

2

질문 드립니다.

0

45

2

강의 내용 관련 질문드립니다~

0

43

2

수강 연장 문의

0

55

2

강의자료 일괄 다운로드

0

50

2

수강기간 연장 문의드립니다

0

40

2

list 문제 질문드립니다~

0

35

2

빅분기 실기 12회 재도전

0

53

2

강의 기간 연장 가능여부 검토 요청건

0

39

2

수강기간 연장 문의 드립니다

0

43

2

수강기간 연장 문의드립니다

0

50

2

질문이요

0

56

2

수강기간 연장 문의드립니다.

0

58

2

문제 3-2 질문드립니다

0

47

2

수강기간 연장 문의 드립니다.

0

61

2

변수, 칼럼 , df 구분

0

51

2

수강기간 연장 문의드립니다.

0

50

2

수강기간 연장 문의

0

49

2

수강기간 연장 문의드립니다.

0

42

2