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

Mar*_*in 3 python dataframe pandas

如何将 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']])
Run Code Online (Sandbox Code Playgroud)

piR*_*red 5

矢量化方法是:

df['E'] = (df.B - df.A) * np.random.rand(df.shape[0]) + df.A
Run Code Online (Sandbox Code Playgroud)

与...一样:

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

计时 100 万行

如果可以,请不要在大型​​数据集上使用 apply。

在此处输入图片说明