줄리아에서 데이터프레임 특정 행만 제거하는 법

줄리아에서 데이터프레임 특정 행만 제거하는 법

How to Delete Some Column of DataFrame in julia

개요

인덱싱할 때 Not() 함수를 사용하면 된다. 1 칼럼명 그대로의 심볼이나 심볼의 배열을 넣으면 그 칼럼들만 제외하고 인덱싱된다.

코드

using DataFrames

WJSN = DataFrame(
    member = ["다영","다원","루다","소정","수빈","연정","주연","지연","진숙","현정"],
    birth = [99,97,97,95,96,99,98,95,99,94],
    height = [161,167,157,166,159,165,172,163,162,165],
    unit = ["쪼꼬미","메보즈","쪼꼬미","더블랙","쪼꼬미","메보즈","더블랙","더블랙","쪼꼬미","더블랙"]
)

위의 예제 코드를 실행해보고 그 결과를 확인해보자.

julia> WJSN
10×4 DataFrame
 Row │ member  birth  height  unit   
     │ String  Int64  Int64   String 
─────┼───────────────────────────────
   1 │ 현정       94     165  더블랙
   2 │ 소정       95     166  더블랙
   3 │ 지연       95     163  더블랙
   4 │ 수빈       96     159  쪼꼬미
   5 │ 다원       97     167  메보즈
   6 │ 루다       97     157  쪼꼬미
   7 │ 주연       98     172  더블랙
   8 │ 다영       99     161  쪼꼬미
   9 │ 연정       99     165  메보즈
  10 │ 진숙       99     162  쪼꼬미

WJSN 데이터프레임은 위와 같다.

julia> WJSN[:,Not(:height)]
10×3 DataFrame
 Row │ member  birth  unit   
     │ String  Int64  String 
─────┼───────────────────────
   1 │ 다영       99  쪼꼬미
   2 │ 다원       97  메보즈
   3 │ 루다       97  쪼꼬미
   4 │ 소정       95  더블랙
   5 │ 수빈       96  쪼꼬미
   6 │ 연정       99  메보즈
   7 │ 주연       98  더블랙
   8 │ 지연       95  더블랙
   9 │ 진숙       99  쪼꼬미
  10 │ 현정       94  더블랙

:height만 들어가서 :height 열이 제거되었다.

julia> WJSN[:,Not([:birth, :unit])]
10×2 DataFrame
 Row │ member  height 
     │ String  Int64  
─────┼────────────────
   1 │ 다영       161
   2 │ 다원       167
   3 │ 루다       157
   4 │ 소정       166
   5 │ 수빈       159
   6 │ 연정       165
   7 │ 주연       172
   8 │ 지연       163
   9 │ 진숙       162
  10 │ 현정       165

심볼의 배열 [:birth, :unit]이 들어가서 :birth 열과 :unit 열이 제거되었다.

환경

  • OS: Windows
  • julia: v1.6.3

  1. https://dataframes.juliadata.org/stable/man/working_with_dataframes/#Taking-a-Subset ↩︎

댓글