Julia로 하는 데이터 조작
Katerina Zahradova
Instructor
",", " ", "\t" 등# 공백을 구분자로 사용해 파일 로드
penguins = DataFrame(CSV.File("penguins.csv",delim=" "))
3.143,14
# 콤마를 소수 구분으로 사용해 로드
penguins = DataFrame(CSV.File(
"penguins.csv",
decimal=',', delim=" "))
# 13~27행 로드
penguins_part = DataFrame(CSV.File("penguins.csv", skipto=10, limit=3))
3×7 DataFrame
Row species island culmen_length_mm culmen_depth_mm ...
String7 String15 Float64 Float64 ...
______________________________________________________________
1 Adelie Torgersen 38.6 21.2 ...
2 Adelie Torgersen 34.6 21.1 ...
3 Adelie Torgersen 36.6 17.8 ...
# 헤더를 특정 행으로 지정
penguins_header = DataFrame(CSV.File("penguins.csv", header = 1))
333×7 DataFrame
Row species island culmen_length_mm culmen_depth_mm ...
String7 String15 Float64 Float64 ...
______________________________________________________________
1 Adelie Torgersen 39.1 18.7 ...
2 Adelie Torgersen 39.5 17.4 ...
3 Adelie Torgersen 40.3 18.0 ...
...
# 다중 행 헤더
penguins_header = DataFrame(CSV.File("penguins.csv", header = [1, 2]))
332×7 DataFrame
Row species_Adelie island_Torgersen culmen_length_mm_39.1 ...
String7 String15 Float64 ...
________________________________________________________________
1 Adelie Torgersen 39.5 ...
2 Adelie Torgersen 40.3 ...
3 Adelie Torgersen 36.7 ...
...
# 헤더 교체
penguins_header = DataFrame(CSV.File("penguins.csv",
header = [:species, :area, :culmen_l_mm, :culmen_d_mm,
:flipper_l_mm, :weight_g, :sex]))
333×7 DataFrame
Row species area culmen_l_mm culmen_d_mm ...
String7 String15 Float64 Float64 ...
____________________________________________________
1 Adelie Torgersen 39.1 18.7 ...
2 Adelie Torgersen 39.5 17.4 ...
3 Adelie Torgersen 40.3 18.0 ...
...
# DataFrame 저장
CSV.write("temp/transformed_penguins.csv", delim = " ", decimal = ',')
delim=: 열 값을 구분하는 Char 또는 String; 예: species,island,...
decimal=: 실수의 소수 구분 기호를 지정하는 Char; 예: 3.14의 .
skipto=: 로드를 시작할 파일의 행 번호를 지정하는 Int; 주의: 헤더도 포함됨
limit=: 로드할 행 수를 지정하는 Int
header=: 헤더의 행 번호 Int, 다중 행은 Vector{Int}, 새 헤더는 Vector{String} 또는 Vector{Symbol}
CSV.File(path)는 path의 파일을 로드함
CSV.write(path, df)는 df를 CSV로 path에 저장함
CSV.File() 및 CSV.write 문서
Julia로 하는 데이터 조작