次の解説を参考にして、サンプル・データを作成方法を学びます。合わせて、Pythonの基本的な使い方を学びます。
Generate Your Sample Dataset — A Must Have Skill For Data Scientists.
The pseudorandom number generatorは、seedを用いてランダムな数を生成します。seedを指定しない場合は、システムの時間をもとにします。
The pseudorandom number generator is a mathematical function that generates a sequence of nearly random numbers.
It takes a parameter to start off the sequence, called the seed. The function is deterministic, meaning given the same seed, it will produce the same sequence of numbers every time. The choice of seed does not matter.
デフォルトでは0から1の間の少数を算出します。分布は、uniform distributionです。
seed(1)で疑似ランダム数を算出しました。
# seed the pseudorandom number generator
from random import seed
from random import random
# seed random number generator
seed(1)
# generate some random numbers
print(random(), random(), random())
# reset the seed
## 0.13436424411240122 0.8474337369372327 0.763774618976614
seed(1)
# generate some random numbers
print(random(), random(), random())
## 0.13436424411240122 0.8474337369372327 0.763774618976614
10個のランダムな小数を算出します。
# generate random floating point values
from random import seed
from random import random
# seed random number generator
seed(1)
# generate random numbers between 0-1
for _ in range(10): # 次を10回繰り返す
value = random()
print(value)
## 0.13436424411240122
## 0.8474337369372327
## 0.763774618976614
## 0.2550690257394217
## 0.49543508709194095
## 0.4494910647887381
## 0.651592972722763
## 0.7887233511355132
## 0.0938595867742349
## 0.02834747652200631
整数を算出します。
# generate random integer values
from random import seed
from random import randint
# seed random number generator
seed(1)
# generate some integers
for _ in range(10): # 次を10回繰り返す
value = randint(0, 10)
print(value)
## 2
## 9
## 1
## 4
## 1
## 7
## 7
## 7
## 10
## 6
日付データを作成します。
import numpy as np
monthly_days = np.arange(0, 30)
base_date = np.datetime64('2020-01-01')
random_date = base_date + np.random.choice(monthly_days)
print(random_date)
## 2020-01-20
2020年から20年間のランダムな20件の日付を作成します。
for _ in range(20):
monthly_days = np.arange(0, 7300)
base_date = np.datetime64('2000-01-01')
random_date = base_date + \
np.random.choice(monthly_days)
print(random_date)
## 2007-09-09
## 2014-01-07
## 2014-09-21
## 2003-03-27
## 2002-01-30
## 2011-12-03
## 2003-03-07
## 2008-03-14
## 2004-06-25
## 2015-03-10
## 2018-08-08
## 2005-04-20
## 2000-01-05
## 2005-02-28
## 2010-10-30
## 2017-03-01
## 2011-08-11
## 2000-11-05
## 2017-07-25
## 2002-08-16
To be continued.