열 조작

Julia로 하는 데이터 조작

Katerina Zahradova

Instructor

함수 적용

  • 전체 열을 입력으로 받는 함수

    • 평균, 최솟값 등 열 전체로 결정되는 특징
    • Julia에서는 maximum()처럼 전체 이름을 사용하며, max()만 쓰지 않습니다
  • 개별 행에서 동작하는 함수

Julia로 하는 데이터 조작

옵션

  • select()

  • transform()

  • combine()

DataFrame을 제자리에서 변경하려면:

  • select!(), transform!(), combine!()
Julia로 하는 데이터 조작

select()

# 열 선택
select(penguins, :species, :body_mass_g)
333x2 DataFrame
Row species   body_mass_g
    String15  Int64
___________________________
1   Adelie    3750
2   Adelie    3800
3   Adelie    3250
...
# 열 선택 및 이름 바꾸기
select(penguins, :species, :body_mass_g => :weight_g)
333x2 DataFrame
Row species   weight_g
    String15  Int64
___________________________
1   Adelie    3750
2   Adelie    3800
3   Adelie    3250
...
Julia로 하는 데이터 조작

select()

# 열을 선택하고 함수 적용
select(penguins, :species, :body_mass_g => mean)
333x2 DataFrame
Row species   body_mass_g_mm
    String15  Float64
___________________________
1   Adelie    4207.06
2   Adelie    4207.06
3   Adelie    4207.06
...
Julia로 하는 데이터 조작

transform()

# body_mass_g의 최댓값 열 추가
transform(penguins, :body_mass_g => maximum)
333x8 DataFrame
Row species   island    ...  body_mass_g  sex      body_mass_g_maximum
    String15  String15  ...  Int64        String7  Float64 
___________________________________________________________________
1   Adelie    Torgersen ...  3750         MALE     4207.06
2   Adelie    Torgersen ...  3800         FEMALE   4207.06
...
Julia로 하는 데이터 조작

combine()

# body_mass_g의 최댓값을 결합
combine(penguins, :body_mass_g => maximum)
1×1 DataFrame
Row  body_mass_g_mean
     Float64
__________________________
1    4207.06

Julia로 하는 데이터 조작

여러 개 처리 방법

# 한 열에 여러 함수를 적용
combine(penguins, :body_mass_g .=> [mean, minimum, maximum])
Row  body_mass_g_mean  body_mass_g_minimum  body_mass_g_maximum
     Float64           Float64              Float64       
_______________________________________________________________
1    4207.06           2700                 6300
# 여러 열을 하나의 함수에 전달
select(penguins, [:body_mass_g, :flipper_length_mm] .=> mean)
Row  body_mass_g_mean  flipper_length_mm_mean  
     Float64           Float64              
___________________________________________
1    4207.06           200.967               
2    4207.06           200.967   
...
Julia로 하는 데이터 조작

치트시트

  • select():

    • 지정한 열만 포함합니다
    • 행 수는 동일; 같은 값이 모든 행에 브로드캐스트됩니다
  • transform():

    • 모든 열을 유지하고 새 열을 추가합니다
    • 행 수는 동일; 같은 값이 모든 행에 브로드캐스트됩니다
  • combine():

    • 지정한 열만 포함합니다
    • 값을 모든 행에 브로드캐스트하지 않습니다
Julia로 하는 데이터 조작

연습해 봅시다!

Julia로 하는 데이터 조작

Preparing Video For Download...