새 열 만들기

Julia로 하는 데이터 조작

Katerina Zahradova

Instructor

열 vs. 행

  • 모든 행에 단일 숫자
  • 예: 평균, 중앙값, 합계 등

  • 각 행의 데이터에 따라 값이 달라짐

=> ByRow() 사용

Julia로 하는 데이터 조작

지느러미 길이를 인치로

# mm를 인치로 변환
transform(penguins, :flipper_length_mm => ByRow(x -> x/25.4) => :flipper_length_inch)
333x8 DataFrame
Row species   island    ...  body_mass_g  sex      flipper_lenght_inch
    String15  String15  ...  Int64        String7  Float64 
___________________________________________________________________
1   Adelie    Torgersen ...  3750         MALE     7.12598
2   Adelie    Torgersen ...  3800         FEMALE   7.32283
...
Julia로 하는 데이터 조작

부리 깊이/길이 비율

# 열 선택 후 비율 계산
select(penguins,:culmen_depth_mm, :culmen_length_mm, 
   [:culmen_depth_mm, :culmen_length_mm] => ByRow((x, y) -> x/y) => :culmen_ratio)
333x3 DataFrame
Row  culmen_depth_mm  culmen_length_mm  culmen_ratio
     Float64          Float64           Float64
_____________________________________________________
1    18.7             39.1              0.478261
2    17.4             39.5              0.440506
...
Julia로 하는 데이터 조작

벡터로 새 열 추가

# 추가할 벡터 id_vec


# []와 : 사용 penguins[:, :id_colon] = id_vec
# []와 ! 사용 penguins[!, :id_exclamation] = id_vec
# . 사용 penguins.id_dot = id_vec
Julia로 하는 데이터 조작

복사 여부

penguins[:, :id_colon] = id_vec
penguins[!, :id_exclamation] = id_vec
penguins.id_dot = id_vec

# 첫 요소 변경
id_vec[1] = 27
select(penguins, :species, r"id")
333x4 DataFrame
Row  species   id_colon  id_exclamation  id_dot
     String15  Int64     Int64           Int64
_____________________________________________________
1    Adelie    25        27              27
...
Julia로 하는 데이터 조작

복사 여부

penguins[:, :id_colon] = id_vec        # 값을 DataFrame으로 복사
penguins[!, :id_exclamation] = id_vec  # id_vec을 참조
penguins.id_dot = id_vec               # id_vec을 참조

# 첫 요소 변경
id_vec[1] = 27
select(penguins, :species, r"id")
333x4 DataFrame
Row  species   id_colon  id_exclamation  id_dot
     String15  Int64     Int64           Int64
_____________________________________________________
1    Adelie    25        27              27
...
Julia로 하는 데이터 조작

연습해 봅시다!

Julia로 하는 데이터 조작

Preparing Video For Download...