data = pd.DataFrame(1.0, index=[1,2,3,4,5], columns=list('ABCD') )
data[['B', 'C']] = data[['B', 'C']].apply(lambda x: x + (-1)**random.randrange(2)*1)
我想随机改变B列和C列,这样两列的变化是相同的。如果列B增加1,则列C也必须增加1。但是对于每一行,该值可以随机增加/减少。上面的代码不起作用。然后我用随机种子尝试了这个:
data['B'] = data['B'].apply(lambda x: x + (-1)**random.randrange(2)*1)
data['C'] = data['C'].apply(lambda x: x + (-1)**random.randrange(2)*1)
每行随机变化,但B列和C列的变化不一样。我该怎么做呢?
预期产出
A B C D
1 1.0 1.0 1.0 1.0
2 1.0 2.0 2.0 1.0
3 1.0 2.0 2.0 1.0
4 1.0 1.0 1.0 1.0
5 1.0 0.0 0.0 1.0