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

Tạo mẫu hoán vị (permutation samples)

Như bạn đã phân tích ở bài trước, ta cần tạo một mẫu hoán vị bằng cách hoán đổi ngẫu nhiên các phần tử tương ứng trong hai mảng semi_times và final_times. Hãy viết một hàm với chữ ký swap_random(a, b) trả về các mảng trong đó một số chỉ số ngẫu nhiên đã được hoán đổi giá trị giữa a và b.

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

Các nghiên cứu tình huống về tư duy thống kê

Xem khóa học

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

  • Định nghĩa một hàm với chữ ký swap_random(a, b) thực hiện các bước sau.
    • Tạo một mảng swap_inds có cùng độ dài với các mảng đầu vào, trong đó mỗi phần tử là True với xác suất 50/50. Gợi ý: Dùng np.random.random() với tham số size=len(a). Mỗi phần tử của kết quả nhỏ hơn 0.5 sẽ là True.
    • Tạo bản sao của a và b, lần lượt gọi là a_out và b_out, bằng cách dùng np.copy().
    • Dùng chỉ mục Boolean với mảng swap_inds để hoán đổi các phần tử phù hợp: đưa các phần tử của b vào a_out và các phần tử của a vào b_out.
    • Trả về a_out và b_out.

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 ____(____, ____):
    """Randomly swap entries in two arrays."""
    # Indices to swap
    swap_inds = ____ < ____
    
    # Make copies of arrays a and b for output
    a_out = ____
    b_out = ____
    
    # Swap values
    ____[____] = ____[____]
    ____[____] = ____[____]

    return a_out, b_out
Chỉnh sửa và Chạy Mã