我也可以在0.13.1上重现它,但是在0.12或0.14(昨天发布)中不会发生此问题,因此在0.13中似乎是一个错误。
因此,也许可以尝试升级您的熊猫版本,因为矢量化方法的应用速度更快(在我的计算机上为5s vs> 1min),并且在0.14上使用更少的峰值内存(200Mb
vs 980Mb,%memit)
使用您的样本数据重复50000次(导致
apply_id450k行的df),并使用@jsalonen函数:
In [23]: pd.__version__ Out[23]: '0.14.0'In [24]: %timeit df_train['Store'].astype(str) +'_' + df_train['Dept'].astype(str)+'_'+ df_train['Date_Str'].astype(str)1 loops, best of 3: 5.42 s per loopIn [25]: %timeit df_train.apply(apply_id, 1)1 loops, best of 3: 1min 11s per loopIn [26]: %load_ext memory_profilerIn [27]: %memit df_train['Store'].astype(str) +'_' + df_train['Dept'].astype(str)+'_'+ df_train['Date_Str'].astype(str)peak memory: 201.75 MiB, increment: 0.01 MiBIn [28]: %memit df_train.apply(apply_id, 1)peak memory: 982.56 MiB, increment: 780.79 MiB
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)