スポンサーリンク
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
スポンサーリンク