我有一个如下所示的数据框:
START_TIME END_TIME TRIAL_No itemnr
2403950 2413067 Trial: 1 P14
2413378 2422499 Trial: 2 P03
2422814 2431931 Trial: 3 P13
2432246 2441363 Trial: 4 P02
2523540 2541257 Trial: 5 P11
2541864 2560297 Trial: 6 P10
2560916 2577249 Trial: 7 P05
table 一直在继续 . START_TIME和END_TIME都以毫秒为单位,这是试验的开始和结束时间 . 所以我想要做的是,我想将START_TIME重新采样到100毫秒bin itme并在每个START_TIME和END_TIME之间插入变量(TRIAL_No和itemnr) . 在这些区域之外,这些变量应具有值“NA” . 例如,对于第一行,START_TIME是2403950,END_TIME是2413067.它们之间的差异是9117毫秒 . 因此,“试验:1”保持9117毫秒,这是因为每个箱时间相隔100毫秒,因此需要91个箱时间 . 所以我想在结果数据帧中重复“Trial_1”和“P14”91次 . 其余部分也是如此 . 看起来如下:
Bin_time TRIAL_No itemnr
2403950 Trial: 1 P14
2404050 Trial: 1 P14
2404150 Trial: 1 P14
...
2413050 Trial: 1 P14
2413150 Trial: 2 P03
2413250 Trial: 2 P03
等等 . 我不确定是否可以直接在熊猫中进行,或者需要进行一些预处理 .
1 回答
通过concat dataframes创建新数据框后,我可以按行对其进行分组,并在每个组上应用resample(使用方法
ffill
转发填充) .编辑:
如果你想在组外获得
NaN
,你可以在groupby
之后更改代码: