Chọn cột

Xử lý dữ liệu trong Julia

Katerina Zahradova

Instructor

Lương tối thiểu Hoa Kỳ

# In wages
wages
2703×10 DataFrame 2678 hàng bị ẩn 5 cột bị ẩn
Row  year   state     region   state_min_wage    state_min_wage_2020_dollars ...
     Int64  String31  String3  Float64           Float64           ...
______________________________________________________________________________
1    1968   Alabama   S        0.0               0.0               ...
2    1968   Alaska    W        2.1               15.61             ...
...
Xử lý dữ liệu trong Julia

Cách ta cắt lát

# Dùng vị trí cột
wages[:, 1]
# Dùng tên cột
wages[:, "year"]
wages[:, :year]
# Dùng tên cột
wages.year
# Chọn nhiều cột
wages[:, ["year", "state"]]
wages[:, [:year, :state]]
wages[:, [1,2]]
Xử lý dữ liệu trong Julia

Chọn cột

# Chọn state, year và state minimum wage

select(wages, 2, 1, 4)
2703×3 DataFrame 2678 hàng bị ẩn
Row  state     year        state_min_wage    
     String31  Int64       Float64                      
____________________________________________
1    Alabama   1968        0.0                              
2    Alaska    1968        2.1                            
...
Xử lý dữ liệu trong Julia

Chọn cột

# Chọn state, year và state minimum wage
select(wages, "state", :year, 4)
2703×3 DataFrame 2678 hàng
Row  state     year        state_min_wage    
     String31  Int64       Float64                      
____________________________________________
1    Alabama   1968        0.0                              
2    Alaska    1968        2.1                            
...
Xử lý dữ liệu trong Julia

Chọn theo mẫu

Chọn cột

  • Bắt đầu/kết thúc bằng một chữ/cụm
  • Chứa một chuỗi con
  • ...

... trở nên phiền phức với dữ liệu lớn

Xử lý dữ liệu trong Julia

Chọn theo mẫu

# Tất cả cột bắt đầu bằng state
select(wages, Cols(startswith("state")))
2703×3 DataFrame 2702 hàng bị ẩn
Row state    state_min_wage state_min_wage_2020_dollars
    String31 Float64        Float64
__________________________________________
1   Alabama  0.0            0.0
...
Xử lý dữ liệu trong Julia

Chọn theo mẫu

# Tất cả cột kết thúc bằng 2020_dollars
select(wages, Cols(endswith("2020_dollars")))
2703x3 DataFrame 2702 hàng bị ẩn
Row state_min_wage_2020_dollars  federal_min_wage_2020_dollars  effective_min_wage_2020_dollars
    Float64                      Float64                        Float64
________________________________________________________________________________________________
1   0.0                          8.55                           8.55
...
Xử lý dữ liệu trong Julia

Chọn theo mẫu

# Tất cả cột chứa min
select(wages, Cols(contains.("min")))
2703×6 DataFrame 2702 hàng bị ẩn 3 cột bị ẩn
Row  state_min_wage  state_min_wage_2020_dollars  federal_min_wage  ...    
     Float64         Float64                      Float64           ...
_______________________________________________________________________
1    0.0             0.0                          1.15              ...
... 
Xử lý dữ liệu trong Julia

Regex

regex = regular expressions

  • Chuỗi văn bản
  • Dùng để khớp và tìm vị trí mẫu (phức tạp) trong văn bản
  • Xem thêm tại DataCamp Cheat Sheet, regex101.com và các trang khác
Xử lý dữ liệu trong Julia

Dùng regex

# Chọn bằng regex
select(wages, r"min")
2703×6 DataFrame 2702 hàng bị ẩn 3 cột bị ẩn
Row  state_min_wage  state_min_wage_2020_dollars  federal_min_wage  ...    
     Float64         Float64                      Float64           ...
_______________________________________________________________________
1    0.0             0.0                          1.15              ...
...
Xử lý dữ liệu trong Julia

select!() và select()

# Thay đổi DataFrame gốc
select!(wages, :year, :state)

# DataFrame gốc đã đổi
println(first(wages))
DataFrameRow (2 cột)
Row  year    state     
     Int64   String31  
______________________
1    1968    Alabama
# Trả về DataFrame mới
select(wages, :year, :state)

# DataFrame gốc giữ nguyên
println(first(wages))
DataFrameRow (10 cột, 7 cột ẩn)
Row  year    state     region    ...
     Int64   String31  String3   ...
____________________________________
1    1968    Alabama   S         ...
Xử lý dữ liệu trong Julia

Ayo berlatih!

Xử lý dữ liệu trong Julia

Preparing Video For Download...