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

如何将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']])

最佳答案

向量化方法是:

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

计时一百万行

如果可以帮助,请勿对大型数据集使用Apply.

enter image description here