熊猫数据框的内存大小xlsx保存的大小

问题描述

我有一个名为 df 的熊猫数据框,并且它的RAM大小为

sys.getsizeof(df)

输出了828000字节,然后将其保存到 .xlsx 文件

writer = pd.ExcelWriter('df.xlsx',engine='xlsxwriter')
df.to_excel(writer,sheet_name='Sheet1')
writer.save()

但是文件大小,即使我认为它的 xlsx 较大(因为它具有excel文件功能),但对 .csv ,我不知道为什么(第二个问题),无论如何,xlsx文件大小导致352 KB。那为什么呢?为什么在ram中需要比保存的大小更多的大小(主要问题)?不应该反过来吗?

解决方法

XLSX是一个Zip文件。它被压缩了。因此,您通常可以期望它比类似的CSV,DataFrame或XLS(旧格式)文件小。