如何获取pyarrow.Table的字节大小?附示例代码
获取pyarrow.Table对象字节大小的最优方法
在PyArrow中,获取pa.Table对象字节大小的最优方法是直接访问**nbytes属性**,它会返回表格在内存中占用的总字节数,无需额外计算,效率最高。
示例用法
基于你提供的代码,只需添加一行即可获取大小:
import pyarrow as pa n_legs = pa.array([2, 4, 5, 100]) animals = pa.array(["Flamingo", "Horse", "Brittle stars", "Centipede"]) names = ["n_legs", "animals"] table = pa.table([n_legs, animals], names=names) # 获取字节大小 total_bytes = table.nbytes print(f"表格总字节大小: {total_bytes}")
其他可选方法(非最优)
table.get_total_buffer_size():同样可以获取总字节数,但本质上和nbytes底层逻辑一致,不过nbytes作为属性调用更简洁直接。- 手动遍历列求和:比如
sum(col.nbytes for col in table.columns),这种方式需要遍历所有列计算,效率低于直接访问nbytes属性,不推荐。
需要注意的是,nbytes统计的是表格在内存中实际占用的字节量,包括数据缓冲区和元数据的开销,能准确反映内存占用情况。
内容的提问来源于stack exchange,提问作者jjbskir
相关产品推荐
相关产品推荐

