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_timesfinal_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 ab.

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 ab, lần lượt gọi là a_outb_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_outb_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ã