使用多个函数时,pandas DataFrame 应用缓慢

时间:2021-05-14 03:58:22

标签: pandas dataframe

所以我试图理解为什么 apply 的行为在多个函数时真的很慢。考虑:

df = pd.DataFrame(
    np.random.rand(1000, 12),
    columns=[f'cols_{i}' for i in range(12)]
)

还有一些时间比较:

%timeit df.apply('mean', axis=1)
# 391 µs ± 6.35 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit df.apply('max', axis=1)
# 400 µs ± 1.31 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit df.apply(['mean', 'max'], axis=1)
# 784 ms ± 13.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

所以,我的假设是,在第一种和第二种情况下,该函数同时应用于数据帧,而在第三种情况下,逐行计算 meanmax。另一方面,agg 也遇到了同样的问题。

有什么想法吗?

0 个答案:

没有答案
相关问题