열 선택

Julia로 하는 데이터 조작

Katerina Zahradova

Instructor

미국 최저임금

# wages 출력
wages
2703×10 DataFrame 2678 rows omitted 5 columns omitted
Row  year   state     region   state_min_wage    state_min_wage_2020_dollars ...
     Int64  String31  String3  Float64           Float64           ...
______________________________________________________________________________
1    1968   Alabama   S        0.0               0.0               ...
2    1968   Alaska    W        2.1               15.61             ...
...
Julia로 하는 데이터 조작

슬라이스 방법

# 열 위치로 선택
wages[:, 1]
# 열 이름으로 선택
wages[:, "year"]
wages[:, :year]
# 열 이름으로 선택
wages.year
# 여러 열 선택
wages[:, ["year", "state"]]
wages[:, [:year, :state]]
wages[:, [1,2]]
Julia로 하는 데이터 조작

열 선택

# 주(state), 연도, 주 최저임금 선택

select(wages, 2, 1, 4)
2703×3 DataFrame 2678 rows omitted
Row  state     year        state_min_wage    
     String31  Int64       Float64                      
____________________________________________
1    Alabama   1968        0.0                              
2    Alaska    1968        2.1                            
...
Julia로 하는 데이터 조작

열 선택

# 주(state), 연도, 주 최저임금 선택
select(wages, "state", :year, 4)
2703×3 DataFrame 2678 rows
Row  state     year        state_min_wage    
     String31  Int64       Float64                      
____________________________________________
1    Alabama   1968        0.0                              
2    Alaska    1968        2.1                            
...
Julia로 하는 데이터 조작

패턴으로 선택

열 선택

  • 특정 글자/단어로 시작·끝나는 열
  • 부분 문자열을 포함한 열
  • ...

... 대규모 데이터셋에서는 번거롭습니다

Julia로 하는 데이터 조작

패턴으로 선택

# state로 시작하는 모든 열
select(wages, Cols(startswith("state")))
2703×3 DataFrame 2702 rows omitted
Row state    state_min_wage state_min_wage_2020_dollars
    String31 Float64        Float64
__________________________________________
1   Alabama  0.0            0.0
...
Julia로 하는 데이터 조작

패턴으로 선택

# 2020_dollars로 끝나는 모든 열
select(wages, Cols(endswith("2020_dollars")))
2703x3 DataFrame 2702 rows omitted
Row state_min_wage_2020_dollars  federal_min_wage_2020_dollars  effective_min_wage_2020_dollars
    Float64                      Float64                        Float64
________________________________________________________________________________________________
1   0.0                          8.55                           8.55
...
Julia로 하는 데이터 조작

패턴으로 선택

# min을 포함하는 모든 열
select(wages, Cols(contains.("min")))
2703×6 DataFrame 2702 rows omitted 3 columns omitted
Row  state_min_wage  state_min_wage_2020_dollars  federal_min_wage  ...    
     Float64         Float64                      Float64           ...
_______________________________________________________________________
1    0.0             0.0                          1.15              ...
... 
Julia로 하는 데이터 조작

정규식

regex = regular expressions

Julia로 하는 데이터 조작

정규식 사용

# 정규식으로 선택
select(wages, r"min")
2703×6 DataFrame 2702 rows omitted 3 columns omitted
Row  state_min_wage  state_min_wage_2020_dollars  federal_min_wage  ...    
     Float64         Float64                      Float64           ...
_______________________________________________________________________
1    0.0             0.0                          1.15              ...
...
Julia로 하는 데이터 조작

select!() vs. select()

# 원본 DataFrame을 변경
select!(wages, :year, :state)

# 원본 DataFrame이 바뀜
println(first(wages))
DataFrameRow (2 columns)
Row  year    state     
     Int64   String31  
______________________
1    1968    Alabama
# 새 DataFrame 반환
select(wages, :year, :state)

# 원본 DataFrame은 그대로
println(first(wages))
DataFrameRow (10 columns, 7 omitted)
Row  year    state     region    ...
     Int64   String31  String3   ...
____________________________________
1    1968    Alabama   S         ...
Julia로 하는 데이터 조작

Ayo berlatih!

Julia로 하는 데이터 조작

Preparing Video For Download...