【发布时间】:2020-05-28 15:43:39
【问题描述】:
所以我有一个数据框(tsv/csv 文件),使用 numpy、pandas 和 statsmodels。
在一列“medianame”中,媒体名称(刺激物)将出现在屏幕上(该刺激物正在移动。每一行代表一个时间戳)。
当特定媒体名称出现在此列中时(在本例中,假设为“stimulus1”),是时候在另一列中插入一个列表,比如说 5 个数字,从这个开始继续。
列中的其他项目需要为空(np.nan)。
另一个要求是必须在每次名称“再次”出现在“medianame”列中时插入它。因此,列表中的项目数可能比媒体名称的连续出现次数短(参见下面示例中的第一次出现)。
如果列表中的项目数长于媒体名称的连续出现次数,则必须提前将其切断(参见下例中的第二次)。
例子:
List1 = [5, 7, 1, 8, 9] # to be inserted in column "position"
# when medianame "stimulus1" appears in column "medianame"
medianame
stimulus0
stimulus0
stimulus0
stimulus0
stimulus0
stimulus0
NaN
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
stimulus1
NaN
stimulus2
stimulus2
stimulus2
stimulus2
stimulus2
NaN
stimulus1
stimulus1
stimulus1
添加到正确的位置后,希望它看起来像:
medianame position
stimulus0 NaN
stimulus0 NaN
stimulus0 NaN
stimulus0 NaN
stimulus0 NaN
stimulus0 NaN
NaN NaN
stimulus1 5
stimulus1 7
stimulus1 1
stimulus1 8
stimulus1 9
stimulus1 NaN
stimulus1 NaN
stimulus1 NaN
stimulus1 NaN
stimulus1 NaN
NaN NaN
stimulus2 NaN
stimulus2 NaN
stimulus2 NaN
stimulus2 NaN
stimulus2 NaN
NaN NaN
stimulus1 5
stimulus1 7
stimulus1 1
【问题讨论】:
标签: python pandas list statsmodels