如何将random.uniform应用于数据帧的两列?

时间:2016-07-10 14:22:32

标签: python pandas dataframe

如何将random.uniform应用于数据帧的两列?

df = pd.DataFrame(np.random.randn(6,4),columns=list('ABCD'))

def f(x):
    return random.uniform(x[0],x[1])

df['E'] = f(df[['A','B']])

1 个答案:

答案 0 :(得分:4)

矢量化方法是:

df['E'] = (df.B - df.A) * np.random.rand(df.shape[0]) + df.A

同样:

df['E'] = (df.B - df.A) * np.random.uniform(size=df.shape[0]) + df.A

时间100万行

如果可以提供帮助,请不要在大型​​数据集上使用。

enter image description here