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 = https://www.yisu.com/ask/{'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 数组及其所有子对象的总内存占用情况。