Sử dụng .apply() đơn giản
Cùng thực hành một chút với .apply() nhé!
Bạn được cung cấp toàn bộ dữ liệu scores gồm kết quả học tập của học sinh và thông tin nền tảng của họ.
Nhiệm vụ của bạn là định nghĩa hàm prevalence() và áp dụng nó cho các cột trong groups_to_consider của DataFrame scores. Hàm này cần truy xuất nhóm/hạng mục xuất hiện phổ biến nhất cho một cột cho trước (ví dụ: nếu hạng mục phổ biến nhất trong cột lunch là standard, thì prevalence() phải trả về standard).
Hàm reduce() từ module functools đã được import sẵn.
Mẹo: pd.Series là một đối tượng Iterable. Vì vậy, bạn có thể dùng các thao tác chuẩn trên nó.
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
Hướng dẫn bài tập
- Tạo một list các tuple gồm các phần tử duy nhất từ đối tượng
seriesđược truyền vào và số lần xuất hiện của chúng. - Trích xuất tuple có số lần xuất hiện cao nhất bằng
reduce(). - Trả về phần tử có số lần xuất hiện cao nhất.
- Áp dụng hàm prevalence trên DataFrame
scoresvới các cột được chỉ định tronggroups_to_consider.
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.
def prevalence(series):
vals = list(series)
# Create a tuple list with unique items and their counts
itms = [(____, ____) for x in set(____)]
# Extract a tuple with the highest counts using reduce()
res = reduce(lambda x, y: ____, ____)
# Return the item with the highest counts
return ____[____]
# Apply the prevalence function on the scores DataFrame
result = scores[groups_to_consider].____
print(result)