順列サンプルの生成
前の演習で確認したように、semi_times と final_times の配列で対応する要素をランダムに入れ替えることで、順列サンプルを生成する必要があります。シグネチャが swap_random(a, b) の関数を作成してください。この関数は、a と b のランダムなインデックスの要素を入れ替えた配列を返します。
この演習はコースの一部です
統計的思考 ケーススタディ
演習の手順
- シグネチャが
swap_random(a, b)の関数を定義し、以下の処理を行わせてください。- 入力配列と同じ長さの配列
swap_indsを作成します。各要素は50/50の確率でTrueになるようにします。ヒント:np.random.random()をsize=len(a)キーワード引数とともに使用してください。結果の各要素のうち、0.5 未満のものをTrueにします。 np.copy()を使用して、aとbのコピーをそれぞれa_out、b_outとして作成します。swap_inds配列を使ったブールインデックスにより、bの該当する要素をa_outに、aの該当する要素をb_outに入れ替えます。a_outとb_outを返します。
- 入力配列と同じ長さの配列
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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