효율적인 워크플로

Julia로 하는 데이터 조작

Katerina Zahradova

Instructor

이름 짓기 팁

  • 짧고 의미 있는 이름
    • df 대신 wages
    • us_min_wages_data_between_1968_and_2020_with_inflation_adjusted_column 대신 wages
  • 명명 규칙/패턴을 따르기
    • state_wage_2020effective.2020.dollars를 섞으면 기억하기 어려움
    • 대소문자도 일관되게: 같은 DataFrame에서 state, Year, REGION 혼용은 피하기
Julia로 하는 데이터 조작

변수 남발 주의

  • 새 변수를 너무 많이 만들지 않기

    • 메모리 낭비
    • 혼란: wages_no_missing, wages_missing_state_only, wages_original_no_missing, wages_state_mean_no_missing 등 차이 파악 어려움
  • 덮어쓰기 사용: select!(), transform!()

  • 동일 데이터의 새 버전 생성을 줄이려면 chain 매크로 사용
Julia로 하는 데이터 조작

하드코딩 대신 변수 사용

  • 하드코딩 값보다 변수를 사용
# 이렇게
replace_missing = 0

replace!(df.col1, missing => replace_missing)
replace!(df.col2, missing => replace_missing)

# 이렇게 말고
replace!(df.col1, missing => 0)
replace!(df.col2, missing => 0)
Julia로 하는 데이터 조작

함수로 만들기

  • 같은 코드를 반복하기보다 함수를 만드세요
    • 함수는 오타를 줄입니다
    • 한 번 만들면 더 빠르게 사용 가능
# 여러 개 선 그래프를 라벨과 함께 그리는 함수
function make_line_plot(xs, ys,labels; xlabel="", ylabel="", title="")
    p = plot(title = title, xlabel = xlabel, ylabel = ylabel)
    for (x, y, label) in zip(xs, ys, labels)
        plot!(x, y, label=label)
    end
    p
end
Julia로 하는 데이터 조작

주석과 문서화

  • 수행 내용에는 주석을 달기
# 이름 표준화
rename!(df, :ColumnOne => :col_1)

# company가 없는 행
df[ismissing.(df.company),:]

# year와 state로 피벗
unstack(wages, :year, :state, :eff_min_wage)
  • 수행 이유를 문서화하기
# 누락 임금을 최솟값으로 대체
# 최악의 경우 가정
min = minimum(skipmissing(df.wages))
replace!(df.wages, missing => min)

# 국가 데이터와 조인
# 국가가 품질에 미치는 영향 분석
leftjoin(company, countries, on=:location)
Julia로 하는 데이터 조작

데이터 파악하기

  • 데이터를 충분히 이해하기
    • 이후 정보 추출이 쉬워짐
    • 그래프, 출력 확인 등

데이터에 익숙해지기

1 Photo by Myriam Jessier on Unsplash
Julia로 하는 데이터 조작

도움을 요청하세요!

Google, Stack Overflow, DataCamp 로고

Julia로 하는 데이터 조작

즐기세요!

  • 즐기되, 포기하지 말고 계속하세요!
Julia로 하는 데이터 조작

미국 공항의 지연 현황

항공편 데이터 구조

Julia로 하는 데이터 조작

연습해 봅시다!

Julia로 하는 데이터 조작

Preparing Video For Download...