背景:在做数据预处理,需要知道数据占用空间情况,并且尽可能减少占用的空间。
sys.getsizeof函数,可以查看python对象内存占用情况,单位字节(byte)。
借助sys.getsizeof函数,得到:
-
在python中,True,False占8个字节;
-
使用numpy时,可能numpy对其做了优化,只占用1个字节。
import sys
import numpy as np
a = [False, True]
print(sys.getsizeof(a)) # 80
a = [False, True, False]
print(sys.getsizeof(a)) # 88
# 88 - 80 = 8
b = np.array([False, True])
print(sys.getsizeof(b)) # 98
b = np.array([False, True, False])
print(sys.getsizeof(b)) # 99
# 99 - 98 = 1