Xử lý cột

Xử lý dữ liệu trong Julia

Katerina Zahradova

Instructor

Áp dụng hàm

  • Hàm áp dụng cho toàn bộ cột

    • Tính năng dựa trên cả cột, ví dụ: mean, minimum, v.v.
    • Trong Julia, các hàm như maximum viết đầy đủ là maximum(), không phải max()
  • Hàm áp dụng cho từng dòng

Xử lý dữ liệu trong Julia

Tùy chọn

  • select()

  • transform()

  • combine()

Để sửa DataFrame tại chỗ:

  • select!(), transform!(), combine!()
Xử lý dữ liệu trong Julia

select()

# Chọn cột
select(penguins, :species, :body_mass_g)
333x2 DataFrame
Row species   body_mass_g
    String15  Int64
___________________________
1   Adelie    3750
2   Adelie    3800
3   Adelie    3250
...
# Chọn và đổi tên cột
select(penguins, :species, :body_mass_g => :weight_g)
333x2 DataFrame
Row species   weight_g
    String15  Int64
___________________________
1   Adelie    3750
2   Adelie    3800
3   Adelie    3250
...
Xử lý dữ liệu trong Julia

select()

# Chọn cột và áp dụng hàm
select(penguins, :species, :body_mass_g => mean)
333x2 DataFrame
Row species   body_mass_g_mm
    String15  Float64
___________________________
1   Adelie    4207.06
2   Adelie    4207.06
3   Adelie    4207.06
...
Xử lý dữ liệu trong Julia

transform()

# Thêm cột với giá trị tối đa của body_mass_g
transform(penguins, :body_mass_g => maximum)
333x8 DataFrame
Row species   island    ...  body_mass_g  sex      body_mass_g_maximum
    String15  String15  ...  Int64        String7  Float64 
___________________________________________________________________
1   Adelie    Torgersen ...  3750         MALE     4207.06
2   Adelie    Torgersen ...  3800         FEMALE   4207.06
...
Xử lý dữ liệu trong Julia

combine()

# Kết hợp penguins với giá trị tối đa của body_mass_g
combine(penguins, :body_mass_g => maximum)
1×1 DataFrame
Row  body_mass_g_mean
     Float64
__________________________
1    4207.06

Xử lý dữ liệu trong Julia

Xử lý nhiều mục

# Dùng nhiều hàm trên một cột
combine(penguins, :body_mass_g .=> [mean, minimum, maximum])
Row  body_mass_g_mean  body_mass_g_minimum  body_mass_g_maximum
     Float64           Float64              Float64       
_______________________________________________________________
1    4207.06           2700                 6300
# Truyền nhiều cột vào một hàm
select(penguins, [:body_mass_g, :flipper_length_mm] .=> mean)
Row  body_mass_g_mean  flipper_length_mm_mean  
     Float64           Float64              
___________________________________________
1    4207.06           200.967               
2    4207.06           200.967   
...
Xử lý dữ liệu trong Julia

Ghi nhớ nhanh

  • select():

    • Chỉ gồm các cột chỉ định
    • Số hàng giữ nguyên; cùng một giá trị được phát (broadcast) cho mọi hàng
  • transform():

    • Giữ tất cả cột và thêm cột mới
    • Số hàng giữ nguyên; cùng một giá trị được phát (broadcast) cho mọi hàng
  • combine():

    • Chỉ gồm các cột chỉ định
    • Không phát (broadcast) giá trị cho mọi hàng
Xử lý dữ liệu trong Julia

¡Vamos a practicar!

Xử lý dữ liệu trong Julia

Preparing Video For Download...