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.