Julia로 하는 데이터 조작
Katerina Zahradova
Instructor
# 가독성 낮음
combine(groupby(
select(wages, :year, :eff_2020)
:year),
:eff_2020 => mean)
# 괄호를 빼먹기 쉬움
combine(groupby(wages, :year, ... )
syntax: incomplete:
premature end of input ...
# 중간 변수 많음
w_tmp = select(wages, :state, :year, :eff_2020)
year_groups = groupby(w_tmp, :year)
combine(year_groups, :eff_2020 => mean)
# 중요한 것을 덮어쓰기 쉬움
select!(wages, :year, :eff_2020)
groupby(wages, :state)
ArgumentError:
column name "state" not found ...

연도별 평균 최저임금 계산
:year로 그룹화@chain wages beginselect(:state, :year, :eff_2020)groupby(:year) combine(:eff_2020 => mean)end
53×2 DataFrame
Row year eff_2020_mean
Int64 Float64
_________________________
1 1968 9.28529
...
@chain wages begin select(:state, :year, :eff_2020) groupby(:year) combine(:eff_2020 => mean)# 여러 위치에 파이프하려면 _ 사용 plot(_.year, _.eff_2020_mean)end

@chain wages begin select(:state, :year, :eff_2020, :state_2020) groupby(:year) combine([:eff_2020, :state_2020] .=> mean)# 파이핑을 건너뛰려면 @aside 사용 @aside plot(_.year,_.eff_2020_mean) plot!(_.year,_.state_2020_mean)end

# 체인 매크로 결과를 변수로 저장
wages_mean_by_year = @chain wages begin
select(:state, :year, :eff_2020, :state_2020)
groupby(:year)
combine([:eff_2020, :state_2020] .=> mean)
end
# 첫 행 출력
println(first(wages_mean_by_year))
DataFrameRow
Row | year eff_2020_mean state_2020_mean
| Int64 Float64 Float64
____|_________________________________
1| 1968 9.28529 6.21549
Julia로 하는 데이터 조작