在n行中每n行中的熊猫添加一个随机数的行

时间:2018-11-14 13:55:38

标签: python pandas

这是我的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)

1 个答案:

答案 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)