【发布时间】:2018-02-01 08:13:03
【问题描述】:
如何将随机数传递给 lambda 函数,以便 pandas assign 可以使用我为每一行添加不同的随机数。
我最初的尝试,
df = pd.DataFrame({'cat': [1]*10 + [0]*10,
'value': [3]*5 + [2]*5 + [2]*2 + [3]*8})
df.assign(cat=lambda df: df.cat + np.random.rand(1)).head(3)
Out[1]:
cat value
0 1.962857 3
1 1.962857 3
2 1.962857 3
我们在这里看到随机数0.962857 已添加到所有行。但我希望每一行都有一个不同的rand。我该怎么做?
【问题讨论】:
标签: python pandas random lambda assign