小编sno*_*vik的帖子

Pandas 性能:pivot_table 与 groupby

pivot_table我在与 的性能上挣扎groupby

一方面我有:

%time df.groupby(['INDEX', 'COLUMN']).agg({'VALUE':['sum','size']}).unstack(level='COLUMN')
CPU times: user 2.28 s, sys: 29.8 ms, total: 2.31 s
Wall time: 2.36 s
Run Code Online (Sandbox Code Playgroud)

另一方面我得到:

%time pd.pivot_table(df, index='INDEX', columns='COLUMN', values='VALUE', aggfunc=[len, np.sum], fill_value=0)
CPU times: user 1min 51s, sys: 1.57 s, total: 1min 53s
Wall time: 1min 54s
Run Code Online (Sandbox Code Playgroud)

这些本质上是相同的,但我得到了 60 倍的性能差异。这是为什么?

我的样本中有 800k 行,其中大约 400k 是唯一的INDEX,并且COLUMN有 16 个唯一值。

python group-by pivot-table dataframe pandas

11
推荐指数
1
解决办法
3431
查看次数

标签 统计

dataframe ×1

group-by ×1

pandas ×1

pivot-table ×1

python ×1