Bắt đầu ngayBắt đầu miễn phí

Bổ sung giá trị cho NaN

Hãy thử bổ sung (impute) một số giá trị bằng cách dùng phương thức .transform(). Ở tác vụ trước, bạn đã tạo DataFrame fheroes trong đó mọi nhóm không đủ số lượng quan sát bmi đã bị loại bỏ. Tuy nhiên, cột bmi của chúng ta có khá nhiều giá trị khuyết (NaN). Với hai bản sao của DataFrame fheroes (imp_globmeanimp_grpmean), nhiệm vụ của bạn là bổ sung các NaN trong cột bmi bằng giá trị trung bình toàn cục và bằng giá trị trung bình theo nhóm được xác định bởi hai yếu tố PublisherAlignment, tương ứng.

Mẹo: pandas Series và NumPy arrays có phương thức đặc biệt .fillna() để thay thế tất cả NaN gặp phải bằng một giá trị được truyền vào như một đối số.

Bài tập này là một phần của khóa học

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một hàm lambda để bổ sung các giá trị NaN trong series bằng giá trị trung bình của chính nó.
  • Bổ sung các NaN ở cột bmi của imp_globmean bằng giá trị trung bình toàn cục.
  • Bổ sung các NaN ở cột bmi của imp_grpmean bằng giá trị trung bình theo nhóm.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Define a lambda function that imputes NaN values in series
impute = lambda series: ____

# Impute NaNs in the bmi column of imp_globmean
imp_globmean['bmi'] = ____
print("Global mean = " + str(fheroes['bmi'].mean()) + "\n")

groups = imp_grpmean.groupby(['Publisher', 'Alignment'])

# Impute NaNs in the bmi column of imp_grpmean
imp_grpmean['bmi'] = groups[____].____
print(groups['bmi'].mean())
Chỉnh sửa và Chạy Mã