如何让我的 Pandas DataFrame 更小更快?

Pandas 数据框的类型类别和内存使用详解

这段文字主要介绍了 Pandas 数据框中的类型类别(type category)和内存使用情况。

1. 类型类别:

  • 类型类别主要用于描述数据框中每一列数据的类型,例如 intfloatobject
  • object 类型通常表示字符串,但也可能包含 Python 列表或字典等其他对象。
  • Pandas 数据框存储 object 类型数据时,实际上存储的是指向这些对象的引用,而不是对象本身。

2. 内存使用:

  • info() 方法默认情况下不会计算 object 列的实际内存使用量,因为它只计算引用的大小,而不会深入分析对象本身。
  • memory_usage() 方法默认情况下也只计算引用的大小。
  • 使用 deep=True 参数可以强制 info()memory_usage() 方法深入分析 object 列,从而获得更准确的内存使用量。
  • 由于需要深入分析对象,使用 deep=True 会导致计算时间更长。

3. 实际案例:

  • 作者使用 drinks 数据框作为示例,该数据框包含国家、洲、酒精消费量等信息。
  • info() 方法显示该数据框大小为 10.6 KB,但实际上可能更大,因为 object 列包含字符串。
  • 使用 deep=True 参数后,info() 方法显示数据框大小为 25.8 KB,即实际内存使用量。
  • memory_usage() 方法可以显示每列数据的内存使用量,使用 deep=True 参数可以获得更准确的数值。

总结:

这段文字详细讲解了 Pandas 数据框中的类型类别和内存使用情况,并通过实际案例说明了如何使用 info()memory_usage() 方法来了解数据框的内存占用情况。了解这些信息对于优化数据框内存使用和提高代码效率非常重要。

您是否在 pandas 中使用大型数据集,并想知道是否可以减小其内存占用或提高其效率? 在本视频中,我将向您展示如何使用 pandas 0.15 中引入的“category”数据类型在一行代码中实现这一点。 我将解释其工作原理以及何时不应使用它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dataschool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值