<jupyter_start><jupyter_text>Chapter10　データ可視化のための準備 - **10.1 様々なグラフ**    - **10.1.1 折れ線グラフ**    - **10.1.2 棒グラフ**    - **10.1.3 ヒストグラム**    - **10.1.4 散布図**    - **10.1.5 円グラフ**- **10.2 乱数の生成**    - **10.2.1 シードを設定する**    - **10.2.2 正規分布に従う乱数を生成する**    - **10.2.3 二項分布に従う乱数を生成する**    - **10.2.4 リストからランダムに選択する**- **10.3 時系列データ**    - **10.3.1 `datetime`型**    - **10.3.2 `timedelta`型**    - **10.3.3 `datetime`型と`timedelta`型の演算**    - **10.3.4 時を表す文字列から`datetime`オブジェクトを作成する**- **10.4 データの操作**    - **10.4.1 文字列型から数値型へ型変換する**    - **10.4.2 等間隔の数列を生成する①**    - **10.4.3 等間隔の数列を生成する②**- **添削問題**  ●10.1 様々なグラフ  ○10.1.1 折れ線グラフ この項にサンプルはありません  ○10.1.2 棒グラフ この項にサンプルはありません  ○10.1.3 ヒストグラム この項にサンプルはありません  ○10.1.4 散布図 この項にサンプルはありません  ○10.1.5 円グラフ この項にサンプルはありません  ●10.2 乱数の生成  〇10.2.1 シードを設定する  □問題<jupyter_code>import numpy as np

# 初期化せず適当な乱数が一致するかを確認します
# X,Yにそれぞれ5つの乱数を格納します
X = np.random.randn(5)
Y = np.random.randn(5)
# X,Yの値を出力します
print("シードを設定しない場合")
print("X:",X)
print("Y:",Y)

# シードを設定してください
np.random.seed(0)
# 乱数列を変数に代入します
x = np.random.randn(5)
# 同じシードを与えて初期化してください
np.random.seed(0)
# 再び乱数列を作り別の変数に代入します
y = np.random.randn(5)
# x,yの値を出力し、一致するか確認します
print("シードを設定した場合")
print("x:",x)
print("y:",y)
# 何も書き込まずに出力してください<jupyter_output><empty_output><jupyter_text>**リスト10.1：問題**　  □解答例（出力結果は誌面と異なります）<jupyter_code>import numpy as np

# 初期化せず適当な乱数が一致するかを確認します
# X,Yにそれぞれ5つの乱数を格納します
X = np.random.randn(5)
Y = np.random.randn(5)
# X,Yの値を出力します
print("シードを設定しない場合")
print("X:",X)
print("Y:",Y)

# シードを設定してください
np.random.seed(0)
# 乱数列を変数に代入します
x = np.random.randn(5)
# 同じシードを与えて初期化してください
np.random.seed(0)
# 再び乱数列を作り別の変数に代入します
y = np.random.randn(5)
# x,yの値を出力し、一致するか確認します
print("シードを設定した場合")
print("x:",x)
print("y:",y)
# 何も書き込まずに出力してください<jupyter_output>シードを設定しない場合
X: [ 1.69064161 -0.42743008 -0.86123923  1.16849608 -0.23130923]
Y: [-1.78682841 -0.99348616 -0.89491737 -0.701891   -0.33340253]
シードを設定した場合
x: [1.76405235 0.40015721 0.97873798 2.2408932  1.86755799]
y: [1.76405235 0.40015721 0.97873798 2.2408932  1.86755799]<jupyter_text>**リスト10.2：解答例**  〇10.2.2 正規分布に従う乱数を生成する  □問題<jupyter_code>import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

# シードの値を0に設定してください

# 正規分布に従う乱数を10,000個生成し、xに代入してください
x = 

# 可視化します
plt.hist(x, bins='auto')
plt.show()<jupyter_output><empty_output><jupyter_text>**リスト10.3：問題**  □解答例<jupyter_code>import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

# シードの値を0に設定してください
np.random.seed(0)
# 正規分布に従う乱数を10,000個生成し、xに代入してください
x = np.random.randn(10000)

# 可視化します
plt.hist(x, bins='auto')
plt.show()<jupyter_output><empty_output><jupyter_text>**リスト10.4：解答例**  〇10.2.3 二項分布に従う乱数を生成する  □問題<jupyter_code>import numpy as np

# シードを設定します
np.random.seed(0)
# 0.5の確率で成功する試行を100回行った時の成功数を10,000回分求めて変数numsに代入してください
nums = 

# 成功率の平均を出力してください<jupyter_output><empty_output><jupyter_text>**リスト10.5：問題**  □解答例<jupyter_code>import numpy as np

# シードを設定します
np.random.seed(0)
# 0.5の確率で成功する試行を100回行った時の成功数を10,000回分求めて変数numsに代入してください
nums = np.random.binomial(100, 0.5, size=10000)

# 成功率の平均を出力してください
print(nums.mean()/100)<jupyter_output>0.49832<jupyter_text>**リスト10.6：解答例**  〇10.2.4 リストからランダムに選択する  □問題<jupyter_code>import numpy as np

x = ['Apple', 'Orange', 'Banana', 'Pineapple', 'Kiwifruit', 'Strawberry']

# シードを設定します
np.random.seed(0)
# xの中からランダムに5個選んでyに代入してください
y = 

print(y)<jupyter_output><empty_output><jupyter_text>**リスト10.7：問題**  □解答例<jupyter_code>import numpy as np

x = ['Apple', 'Orange', 'Banana', 'Pineapple', 'Kiwifruit', 'Strawberry']

# シードを設定します
np.random.seed(0)
# xの中からランダムに5個選んでyに代入してください
y = np.random.choice(x, 5)

print(y)<jupyter_output>['Kiwifruit' 'Strawberry' 'Apple' 'Pineapple' 'Pineapple']<jupyter_text>**リスト10.8：解答例**  ●10.3 時系列データ  ○10.3.1 datetime型  □問題<jupyter_code>import datetime as dt

# 1992年10月22日を表すdatetimeオブジェクトを作成してxに代入してください
x = 

# 出力します
print(x)<jupyter_output><empty_output><jupyter_text>**リスト10.9：問題**  □解答例<jupyter_code>import datetime as dt

# 1992年10月22日を表すdatetimeオブジェクトを作成してxに代入してください
x = dt.datetime(1992, 10, 22)

# 出力します
print(x)<jupyter_output>1992-10-22 00:00:00<jupyter_text>**リスト10.10：解答例**  ○10.3.2 timedelta型  □問題<jupyter_code>import datetime as dt

# 1時間半を表すtimedeltaオブジェクトを作成し、xに代入してください
x = 

# 出力します
print(x)<jupyter_output><empty_output><jupyter_text>**リスト10.11：問題**  □解答例<jupyter_code>import datetime as dt

# 1時間半を表すtimedeltaオブジェクトを作成し、xに代入してください
x = dt.timedelta(hours=1, minutes=30)

# 出力します
print(x)<jupyter_output>1:30:00<jupyter_text>**リスト10.12：解答例**  ○10.3.3 datetime型とtimedelta型の演算  □問題<jupyter_code>import datetime as dt


# 1992年10月22日を表すdatetimeオブジェクトを作成してxに代入してください
x = 

# xから1日後を表すdatetimeオブジェクトをyに代入してください
y = 

# 出力します
print(y)<jupyter_output><empty_output><jupyter_text>**リスト10.13：問題**  □解答例<jupyter_code>import datetime as dt


# 1992年10月22日を表すdatetimeオブジェクトを作成してxに代入してください
x = dt.datetime(1992, 10, 22)

# xから1日後を表すdatetimeオブジェクトをyに代入してください
y = x + dt.timedelta(1)

# 出力します
print(y)<jupyter_output>1992-10-23 00:00:00<jupyter_text>**リスト10.14：解答例**  ○10.3.4 時を表す文字列からdatetimeオブジェクトを作成する  □問題<jupyter_code>import datetime as dt

# sに1992年10月22日を表す文字列を"年-月-日"の形式でsに代入してください
s = 
# sを変換して、1992年10月22日を表すdatetimeオブジェクトをxに代入してください
x = 

# 出力します
print(x)<jupyter_output><empty_output><jupyter_text>**リスト10.15：問題**  □解答例<jupyter_code>import datetime as dt

# sに1992年10月22日を表す文字列を"年-月-日"の形式でsに代入してください
s = "1992-10-22"
# sを変換して、1992年10月22日を表すdatetimeオブジェクトをxに代入してください
x = dt.datetime.strptime(s, "%Y-%m-%d")

# 出力します
print(x)<jupyter_output>1992-10-22 00:00:00<jupyter_text>**リスト10.16：解答例**  ●10.4 データの操作  ○10.4.1 文字列型から数値型へ型変換する  □問題<jupyter_code># 文字列型を代入します
x = '64'
y = '16'

# x, yを int() を用いて変換し数値的な和をzに代入してください
z = 

# zの値を出力します
print(z)<jupyter_output><empty_output><jupyter_text>**リスト10.17：問題**  □解答例<jupyter_code># 文字列型を代入します
x = '64'
y = '16'

# x, yを int() を用いて変換し数値的な和をzに代入してください
z = int(x) + int(y)

# zの値を出力します
print(z)<jupyter_output>80<jupyter_text>**リスト10.18：解答例**  ○10.4.2 等間隔の数列を生成する①  □問題<jupyter_code>import numpy as np

# xに0から10までの偶数列を代入してください。終わりの値は 12 でも正解です
x = 

# 出力します
print(x)<jupyter_output><empty_output><jupyter_text>**リスト10.19：問題**  □解答例<jupyter_code>import numpy as np

# xに0から10までの偶数列を代入してください。終わりの値は12でも正解です
x = np.arange(0, 11, 2)

# 出力します
print(x)<jupyter_output>[ 0  2  4  6  8 10]<jupyter_text>**リスト10.20：解答例**  ○10.4.3 等間隔の数列を生成する②  □問題<jupyter_code>import numpy as np

# 0から10までの範囲を等間隔にわける5点をxに代入してください
x = 

# 出力します
print(x)<jupyter_output><empty_output><jupyter_text>**リスト10.21：問題**  □解答例<jupyter_code>import numpy as np

# 0から10までの範囲を等間隔にわける5点をxに代入してください
x = np.linspace(0, 10, 5)

# 出力します
print(x)<jupyter_output>[ 0.   2.5  5.   7.5 10. ]<jupyter_text>**リスト10.22：解答例**  ●添削問題  □問題<jupyter_code>import matplotlib.pyplot as plt
import numpy as np

np.random.seed(100)

# 一様乱数を10000個生成して、random_number_1に代入してください

# 正規分布に従う乱数を10000個生成して、random_number_2に代入してください

# 二項分布に従う乱数を10000個生成して、random_number_3に代入してください。成功確率は0.5としてください


plt.figure(figsize=(5,5))
# 一様乱数をヒストグラムで表示させてください。binsは50に指定してください

plt.title('uniform_distribution')
plt.grid(True)
plt.show()

plt.figure(figsize=(5,5))
# 正規分布に従う乱数をヒストグラムで表示させてください。binsは50に指定してください

plt.title('normal_distribution')
plt.grid(True)
plt.show()

plt.figure(figsize=(5,5))
# 二項分布に従う乱数をヒストグラムで表示させてください。binsは50に指定してください

plt.title('binomial_distribution')
plt.grid(True)
plt.show()<jupyter_output><empty_output><jupyter_text>**リスト10.23：問題**  □解答例<jupyter_code>import matplotlib.pyplot as plt
import numpy as np

np.random.seed(100)

# 一様乱数を10,000個生成して、random_number_1に代入してください
random_number_1 = np.random.rand(10000)
# 正規分布に従う乱数を10,000個生成して、random_number_2に代入してください
random_number_2 = np.random.randn(10000)
# 二項分布に従う乱数を10,000個生成して、random_number_3に代入してください。成功確率は0.5としてください
random_number_3 = np.random.binomial(100, 0.5, size=(10000))

plt.figure(figsize=(5,5))
# 一様乱数をヒストグラムで表示させてください。binsは50に指定してください
plt.hist(random_number_1, bins=50)
plt.title('uniform_distribution')
plt.grid(True)
plt.show()

plt.figure(figsize=(5,5))
# 正規分布に従う乱数をヒストグラムで表示させてください。bins は 50 に指定してください
plt.hist(random_number_2, bins=50)
plt.title('normal_distribution')
plt.grid(True)
plt.show()

plt.figure(figsize=(5,5))
# 二項分布に従う乱数をヒストグラムで表示させてください。binsは50に指定してください
plt.hist(random_number_3, bins=50)
plt.title('binomial_distribution')
plt.grid(True)
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15118243243243243, 'fraction_numerical': 0.0949565637065637, 'mean_word_length': 6.549180327868853, 'pattern_counts': {'":': 0, '<': 87, '<?xml version=': 0, '>': 87, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '24', 'dir': 'jupyter-structured-clean-dedup', 'id': '456128', 'license': 'CC0-1.0', 'n_tokens_mistral': 5741, 'n_tokens_neox': 5264, 'n_words': 507, 'path': 'notebooks/ShinsouGakushu_sample/Chapter10_Sample.ipynb', 'repo_name': 'BlueMoon55/jekyll_python', 'size': '8288'}