Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

クエスト「NumPyで乱数を作ろう」改訂版リリースのお知らせ

こんにちは、PyQチームです。
PyQのコンテンツ改訂に関するお知らせです。

このたび、ランク「NumPyデータ処理」の クエスト「NumPyで乱数を作ろう」の改訂版 をリリースいたしました。

概要

クエスト「NumPyで乱数を作ろう」は、NumPyを使った乱数の生成方法を学べるクエスト です。ダミーデータの作成やシミュレーションなど、さまざまな場面で役に立つ内容になっています。
今回の主な改訂内容は、次の3点です。

  1. 【学べる内容の改訂】 NumPy公式が推奨している乱数生成の方法 ( np.random.default_rng() を使った方法)が学べるように改訂しました
  2. 【説明の追加】 「写経しよう」内でステップごとに説明を追加することで、コードの意図やライブラリーの機能がわかりやすくなりました
  3. 【フォーマットの改善】 各問題に「学ぶこと」「まとめ」を追加することで、学習内容の要点がわかりやすくなりました

より学びやすい内容になっているので、既に学習済みの方も、これを機会にまた学習してみてはいかがでしょうか。

改善内容の詳細

改善点1. NumPy公式が推奨している乱数生成の方法に変更

NumPyでは、以前はnp.random モジュールの関数を使用して乱数を生成する方法が一般的でした。例えば、乱数を生成するためのコードは以下のようになっていました。

import numpy as np
# 古い書き方
random_numbers = np.random.rand(3)  # 0以上1未満の一様分布にしたがう乱数を3個生成
random_numbers

実行結果:(乱数なので実行するたびに結果は変わります)

array([0.50063189, 0.39705785, 0.59124686])

現在は、次のような np.random.default_rng() を使用した乱数生成方法 が推奨されています。

import numpy as np
# 新しい書き方
rng = np.random.default_rng()  # 乱数生成器を作成
random_numbers = rng.random(3)  # 0以上1未満の一様分布にしたがう乱数を3個生成
random_numbers

実行結果:(乱数なので実行するたびに結果は変わります)

array([0.8330344 , 0.90880856, 0.89585757])

今回の改訂では、この 新しい乱数生成方法を学べるように、説明とコードを一新 しました。
NumPy公式では、新しい乱数生成方法を使うことが推奨されています。ぜひ、習得しましょう。

numpy.org

原文引用:

Generator and its associated infrastructure was introduced in NumPy version 1.17.0. There is still a lot of code that uses the older RandomState and the functions in numpy.random. While there are no plans to remove them at this time, we do recommend transitioning to Generator as you can.

日本語訳:

NumPyバージョン1.17.0では、 Generator とその関連インフラが導入されました。古い RandomState や numpy.random の関数を使用するコードがまだたくさんあります。現時点ではこれらを削除する予定はありませんが、できる限り Generator に移行することをお勧めします。

改善点2. 「写経しよう」内でステップごとに説明を追加

旧版では「写経しよう」内の説明が少なく、コードの学習意図や確認すべき内容が分かりにくい状態となっていました。
今回の改訂にともない、「写経しよう」の説明を補強 し、学習しやすくなるよう改善しました。

また、写経前に全体的な概要(「やってみよう」)も追加し、 写経を通して何を確認すべきか、ポイントがわかるように改善しました。

改善点3. 学習内容の要点がわかるよう、フォーマットを改善

学習内容の要点や全体像が把握しやすいように、改訂版では 各問題(クエスチョン)ごとに学習内容を要約した「学ぶこと」や「まとめ」を追加 しました。

その他のクエストの修正

今回の改訂版のリリースにともない、NumPyの乱数生成機能を使っていたクエストを一部修正 しました。

旧版・クエスト「NumPyで乱数を作ろう」について

旧版となった既存クエストは、「旧・NumPyで乱数を作ろう」クエストに名前を変更して 「更新なし・削除予定」カテゴリ に移動 しました。今後は更新の予定はないため、新しいコンテンツで学習することをおすすめします。

まとめ

クエスト「NumPyで乱数を作ろう」改訂版のリリース内容についてお知らせしました。
NumPyの乱数生成機能は、ダミーデータの生成やシミュレーションのプログラムで非常に役に立つ機能です。
既に学習済みの方も、これを機会にまた学習してみてはいかがでしょうか。

PyQではより効率よく、成長の実感を得ながら学習ができるよう、これからもコンテンツの改善を続けていきます。 変更点へのご意見は、各問題のエディター画面の「ヘルプ」>「フィードバック」よりお寄せください。

Copyright ©2017- BeProud Inc. All rights reserved.