You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas.Series.nbytes处理字符串的计算逻辑?结果不符预期

为什么pd.Series.nbytes返回24?

当Series的 dtype 是object时,nbytes统计的是存储对象指针的总字节数,不是字符串内容本身的字节总和。

  • 64位系统里,每个对象指针占8字节,你的Series有3个元素,3×8=24,这就是结果的由来。
  • 你用s.str.encode().str.len().sum()算的是每个字符串编码后的实际字节数总和,和nbytes的统计逻辑完全两回事:
    • utf-8/ascii编码下,"Ant"3字节、"Bear"4字节、"Cow"3字节,加起来10,和你得到的结果一致;
    • utf-16编码会给每个字符串加字节序标记,每个字符串的字节数是(长度×2+2),算下来就是8+10+8=26,也和你的输出匹配。

如果要统计字符串内容的总字节数,你用的编码后求和的方式是对的,但nbytes的作用是反映Series底层存储结构的占用大小,不是元素内容的字节数。

内容的提问来源于stack exchange,提问作者MCornejo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:59:57