翻译自这篇文章
当我们需要处理大数据时,如果不对数据做任何处理,可能会带来内存占用过大和运行过慢的风险。
当然对于处理大数据集,类似spark之类的专业处理工具是大家的首选,但是pandas优秀的特性和简单明了的语法能极大提升数据分析的效率,因此我需要考虑如何对数据优化,使得我们能在pandas上完成更大数据量的数据分析工作。
在用pandas进行数据分析时,减少内存占用简单来说就是选择合适的数据类型。
我们用棒球比赛日志数据来作为我们的例子。
import pandas as pd
gl = pd.read_csv("game_logs.csv")#读数据
gl.info(memory_usage = 'deep')#数据集的一些信息和内存占用
我们先了解下pandas内部储存Dataframe的机制。
pandas将列聚合成一个个的blocks,block内都是相同类型的数据。blocks不会存储列名,只会储存dataframe列中的实际的值。内部的