sys.getsizeof()
是 Python 的一个内置函数,用于计算对象在内存中所占的字节大小
numpy
:计算 NumPy 数组的内存占用情况。import sys
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("Size of the NumPy array:", sys.getsizeof(arr))
pandas
:计算 Pandas DataFrame 或 Series 的内存占用情况。import sys
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
print("Size of the Pandas DataFrame:", sys.getsizeof(df))
matplotlib
:计算 Matplotlib 图形对象的内存占用情况。import sys
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
print("Size of the Matplotlib figure object:", sys.getsizeof(fig))
需要注意的是,sys.getsizeof()
只会返回对象本身的大小,而不会考虑到对象内部可能引用的其他对象。因此,如果您想要计算一个复杂对象(如包含多个子对象的列表或字典)的整体内存占用情况,可以使用 pympler.asizeof
函数。首先安装 pympler
库:
pip install pympler
然后使用 asizeof
函数计算对象的整体内存占用情况:
from pympler import asizeof
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("Total size of the NumPy array:", asizeof.asizeof(arr))
这将给出 NumPy 数组及其所有子对象的总内存占用情况。