ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼자 공부하는 데이터 분석 with 파이썬]03-1 불필요한 데이터 삭제하기
    카테고리 없음 2023. 9. 19. 13:32

    열 삭제하기

    1) loc 메서드와 불리언 배열   

    print(ns_df.columns[0])

    columns 속성은 판다스의 index 클래스 객체이다. 리스트처럼 숫자 인덱스로 참조 가능

    selected_columns = ns_df.columns != 'Unnamed:13'
    ns_book = ns_df.loc[:,selected_columns]

    'Unnamed :13' 열이 아닌 것은 True,  'Unnmaed :13'인 열은 False

    selected_columns는 넘파이 배열  loc 메서드에 True인 열의 행만 선택

     

    2) drop()메서드

    판다스에서는 데이터프레임의 행,열을 삭제하는 drop() 메서드 제공

    axis 매개변수를 0 => 행 삭제

    axis 매개변수를 0 => 열 삭제

    ns_book = ns_df.drop('Unnamed: 13',axis=1)

     여러개의 열을 삭제하려면 리스트 형식 사용

    ns_book = ns_df.drop(['부가기호','Unnamed: 13'],axis=1)

    inplace 매개변수 True 지정: 선택한 데이터프레임을 바로 수정

    ns_book.drop('주제분류번호',axis=1,inplace=True)

     

    3) dropna()메서드

    NaN : 비어있는 값

    기본적으로 NaN 이 하나 이상 포함된 열이나 행을 삭제

    ns_book = ns_df.dropna(axis=1)

    how 매개변수 = 'all' : 모든 값이 NaN인 열을 삭제

    ns_book=ns_df.dropna(axis=1,how='all')

     

    행 삭제하기

    1) drop() 메서드 

    axis=0 기본값이므로 생략 가능

    인덱스 0부터 1까지 2개의행 선택

    ns_book2=ns_book.drop([0,1])

     

     

    2) [] 연산자와 슬라이싱

    슬라이싱 이나 불리언 배열을 [] 연산자에 전달

    인덱스가 0,1 인 행을 제외한 모든 행 선택

    ns_book2=ns_book[2:]

     

    인덱스 0,1을 선택, 2는 포함하지 않음

    ns_book2=ns_book[0:2]

     

    3)[] 연산자와 불리언 배열

    원하는 행 = True

    제외할 행 = False

    selected_rows = ns_df['출판사'] == '한빛미디어'
    ns_book2 = ns_book[selected_rows]

    대출건수가 1000 이하인 행을 삭제

    ['대출건수']>1000 조건 넣기

    ns_book2=ns_book[ns_book['대출건수']>1000]

     

    중복된 행 찾기

    1) duplicated() 메서드

    처음 행을 제외한 나머지 중복된 행 =True

    sum() : True 갯수 세기

    sum(ns_book.duplicated())

    subset 매개변수 : 일부 열을 기준으로 여러개 찾을 때

    sum(ns_book.duplicated(subset=['도서명','저자','ISBN']))

    keep 매개변수 = False : 중복된 행을 모두 True로 표시한 불리언 배열을 반환// 중복된 True로 바로 변수에 저장하기 위해

    dup_rows= ns_book.duplicated(subset=['도서명','저자','ISBN'],keep=False)

     

    실습 코드

    https://colab.research.google.com/drive/1SaVG6JuzRcxtdHqkiNZtPoUXdk_fFNCl?usp=sharing

Designed by Tistory.