在Kaggle和日常的代码运行中,我们的内存总是受限的。那么我们在有限的内存中让代码跑起来呢?本文给出了一些解决方法。内存使用统计在进行内存优化之前,可以使用如下函数对进行使用的内存进行统计。import psutilimpot osdef cpu_stats(): pid = os.getpid() py = psutil.Process(pid) memory_use = py.memory_info()[0] / 2. ** 30 return 'memory GB:' + str(np.round(memory_use, 2))对于pandas读取的数据,可以使用如下函数查看内存使用:# 整体内存使用df.info(memory_usage="deep")# 每列内存使用df.memory_usage()对于应用程序,可以使用filprofiler函数查看内存峰值。https://github.com/pythonspeed/filprofilerNumpy内存优化转换数据类型在Numpy支持多种数据类型,不同类型数据的内存占用相差很大。uint64类型比uint16内存占比大四倍。>>> from numpy import ones>>> int64arr = ones((1024, 1024
………………………………