这是我的DataFrame。
A | B | C | D
0 4 8 9
1 5 8 9
2 6 8 9
3 7 8 9
我想每隔一行添加一个带有随机数的行,所以看起来像这样。
A | B | C | D
0 4 8 9
1 5 8 9
596 596 596 596
2 6 8 9
3 7 8 9
123 123 123 123
下面的代码来自另一个问题,这要感谢PiR平方,将第二行添加零。如何修改它,使其每隔第二行添加一个随机数,或者增加前一个随机数,例如。
A | B | C | D
a a a a
b b b b
0 0 0 0
c c c c
d d d d
1 1 1 1
在这里,您可以看到它以0开头,然后在第二行增加到1。
此代码将另一个StackOverflow问题的第二行添加零
s = pd.Series(0, df.columns)
f = lambda d: d.append(s, ignore_index=True)
grp = np.arange(len(df)) // 2
df= df.groupby(grp, group_keys=False).apply(f).reset_index(drop=True)
答案 0 :(得分:2)
将lambda函数更改为,根据randint
中的要求更改范围:
f = lambda d: d.append(pd.Series(np.random.randint(0,1000,size=1).repeat(4), df.columns), ignore_index=True)
或:
f = lambda d: d.append(pd.Series(np.random.randint(0,1000,size=1).tolist()[0], df.columns), ignore_index=True)