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 ...
# 1行目をヘッダーとして指定
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 でのデータ操作