我有datetime索引和形状的 Dataframe :
df.shape
(311885, 38)
聚合函数.sum()、.mean()和.median()工作正常:
%%time
df.groupby(pd.Grouper(freq='D')).mean()
CPU times: user 77.6 ms, sys: 16 ms, total: 93.7 ms
Wall time: 92.7 ms
但是,.min()和.max()非常慢:
%%time
df.groupby(pd.Grouper(freq='D')).min()
CPU times: user 51.1 s, sys: 377 ms, total: 51.5 s
Wall time: 51.1 s
此外,尝试重新采样,结果同样不佳:
%%time
df.resample('D').min()
CPU times: user 52.2 s, sys: 478 ms, total: 52.7 s
Wall time: 52.2 s
已安装版本:
pd.__version__
'0.25.2'
print(sys.version)
3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]]
这是预期的行为吗?.min()和.max()的计时是否可以改进?
1条答案
按热度按时间g52tjvyc1#
正如Quang Hoang在他们的评论中指出的,我有一个字符串列,它导致
.min()
和.max()
很慢,没有它,一切都很快。