Xử lý dữ liệu trong Julia
Katerina Zahradova
Instructor
Cột
Hàng
=> dùng ByRow()
# Đổi mm sang inch
transform(penguins, :flipper_length_mm => ByRow(x -> x/25.4) => :flipper_length_inch)
333x8 DataFrame
Row species island ... body_mass_g sex flipper_lenght_inch
String15 String15 ... Int64 String7 Float64
___________________________________________________________________
1 Adelie Torgersen ... 3750 MALE 7.12598
2 Adelie Torgersen ... 3800 FEMALE 7.32283
...
# Chọn cột và tính tỷ lệ của chúng
select(penguins,:culmen_depth_mm, :culmen_length_mm,
[:culmen_depth_mm, :culmen_length_mm] => ByRow((x, y) -> x/y) => :culmen_ratio)
333x3 DataFrame
Row culmen_depth_mm culmen_length_mm culmen_ratio
Float64 Float64 Float64
_____________________________________________________
1 18.7 39.1 0.478261
2 17.4 39.5 0.440506
...
# Vector id_vec cần thêm# Dùng [] và : penguins[:, :id_colon] = id_vec# Dùng [] và ! penguins[!, :id_exclamation] = id_vec# Dùng . penguins.id_dot = id_vec
penguins[:, :id_colon] = id_vec
penguins[!, :id_exclamation] = id_vec
penguins.id_dot = id_vec
# Thay đổi phần tử đầu tiên
id_vec[1] = 27
select(penguins, :species, r"id")
333x4 DataFrame
Row species id_colon id_exclamation id_dot
String15 Int64 Int64 Int64
_____________________________________________________
1 Adelie 25 27 27
...
penguins[:, :id_colon] = id_vec # sao chép giá trị vào DataFrame
penguins[!, :id_exclamation] = id_vec # tham chiếu tới id_vec
penguins.id_dot = id_vec # tham chiếu tới id_vec
# Thay đổi phần tử đầu tiên
id_vec[1] = 27
select(penguins, :species, r"id")
333x4 DataFrame
Row species id_colon id_exclamation id_dot
String15 Int64 Int64 Int64
_____________________________________________________
1 Adelie 25 27 27
...
Xử lý dữ liệu trong Julia