NumPyで乱数を生成
まずは、NumPyで乱数を生成します。
numpyモジュールをimportします。
import numpy as np
例えば、下記のように一様乱数を5個生成します。
npData = np.random.rand(5)
また、例えば、平均が5、標準偏差が2の正規分布の乱数を5個生成します。
参考:Pythonで正規分布の乱数を発生させて統計情報を算出
npData = np.random.normal(5, 2, 5)
datetime64型の日付データをdate_range()で生成
pandasモジュールをimportします。
import pandas as pd
date_range()でdatetime64型の日付データを生成します。
参考:[Python]pandasのdate_range()で時系列データを生成
下記は、2018/01/05から5日分生成します。
date = pd.date_range('2018-01-05', periods=5)
DataFrame()で日付データをインデックスに、値をNumPyで生成した乱数を設定
DataFrame()で日付データをインデックスに、値をNumPyで生成した乱数を設定します。
参考:[Python]NumPy配列からpandasのDataFrameに変換
df = pd.DataFrame(npData, index=date)
スポンサーリンク
サンプルコード
下記がサンプルコードになります。
$ cat sample.py
#!/usr/bin/env python3
# coding: UTF-8
import numpy as np
import pandas as pd
#乱数を生成
npData = np.random.rand(5)
print(npData)
#datetime64型の日付データを生成
date = pd.date_range('2018-01-05', periods=5)
print(date)
#DataFrameを作成
df = pd.DataFrame(npData, index=date)
df.columns = ['col1']
print(df)
#正規分布の乱数を生成
npData = np.random.normal(5, 2, 5)
#DataFrameを作成
df = pd.DataFrame(npData, index=date)
df.columns = ['col1']
print(df)
下記が実行結果になります。
$ ./sample.py
[ 0.13031062 0.37094273 0.48169719 0.20669585 0.47684065]
DatetimeIndex(['2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08',
'2018-01-09'],
dtype='datetime64[ns]', freq='D')
col1
2018-01-05 0.130311
2018-01-06 0.370943
2018-01-07 0.481697
2018-01-08 0.206696
2018-01-09 0.476841
col1
2018-01-05 7.224093
2018-01-06 5.537418
2018-01-07 4.127298
2018-01-08 4.603911
2018-01-09 4.052134
