ubyte数据的python-Pandas优化(0.255)



如何将Pandas df优化为ubyte数据类型(0..255(?(默认情况下,整数为int64(

如果我将数据转换为分类类型,df会使用更少的内存吗?

或者优化它的唯一方法是使用NumPy而不是Pandas?

对于范围为0..255的无符号整数数据,可以将内存存储从默认的int64(8字节(减少到使用uint8(1字节(。您可以参考本文中的一个示例,其中内存使用量从1.5MB大幅减少到332KB(约五分之一(。

对于分类类型,由于Pandas将分类列存储为对象,因此这种存储不是最优的。其中一个原因是它创建了一个指针列表,指向列中每个值的内存地址。有关详细信息,请参阅本文。

要使用uint8,您可以在输入数据时执行此操作,例如,在pd.read_csv调用期间,您使用uint8类型指定输入列的数据类型。(有关示例,请参阅第一篇文章(。如果您已经加载了数据,并且希望将数据帧列转换为使用uint8,则可以使用语法类似.astype('uint8')Series.astype()DataFrame.astype()函数。

相关内容

  • 没有找到相关文章

最新更新