我试图在一个特定索引行中复制一个值,并在数据帧中的原始行下面插入这个新的复制行。
我有以下代码:
indexnumber = random.randrange(datafile.shape[0])
newdf = pd.DataFrame(np.repeat(datafile.iloc[indexnumber].values, 2, axis=0))
print(newdf)
我想随机选择一个反应时间,并将其复制到原始项目旁边,这样,如果列表是[2,3,4],随机数是1,则生成的列表应该是[2,3,3,4]。
如果有任何帮助,我将不胜感激!
数据文件数据帧的前10行:
print(datafile.head(10))
0
0 307
1 209
2 371
3 266
4 372
5 298
6 338
7 302
8 264
9 247
您可以将Index.repeat
与自定义阵列一起用作中继器:
# set up repeater array with 1s
n = np.ones(len(df))
# pick one random value to be 2
n[np.random.randint(0, len(df))] = 2
# reindex
out = df.loc[df.index.repeat(n)]
示例输出:
0
0 307
1 209
2 371
3 266 # duplicated
3 266 #
4 372
5 298
6 338
7 302
8 264
9 247