適当なデータを作る時に,SASではこんな書き方をしてデータを作ってました。
sas_testdata.sas
data testdata;
do SUBJID = 10 to 1100 by 10;
do VISIT = -1 , 1 to 5;
VALUE = rand("normal",0,1);
output;
end;
end;
run;
pythonで書くと,こんな感じになりそうです。
python_testdata.py
import pandas as pd
import numpy as np
SUBJIDs = np.arange(10, 1100 ,10)
VISITs = np.array([-1,1,2,3,4,5])
testdata = pd.DataFrame([(SUBJID, VISIT, np.random.normal(0,1))
for SUBJID in SUBJIDs
for VISIT in VISITs]
,columns=['SUBJID', 'VISIT', 'VALUE']
)
testdata.head(10)
もっと良い方法がありそうではありますが,現状こんな書き方をしています。