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 ...
...
# 열 위치로 선택
wages[:, 1]
# 열 이름으로 선택
wages[:, "year"]
wages[:, :year]
# 열 이름으로 선택
wages.year
# 여러 열 선택
wages[:, ["year", "state"]]
wages[:, [:year, :state]]
wages[:, [1,2]]
# 주(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
...
# 주(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
...
열 선택
... 대규모 데이터셋에서는 번거롭습니다
# 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
...
# 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
...
# 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 ...
...
regex = regular expressions
# 정규식으로 선택
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 ...
...
# 원본 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로 하는 데이터 조작