python

如何结合其他Python模块使用sizeof函数

小樊
84
2024-08-27 12:35:18
栏目: 编程语言

sys.getsizeof() 是 Python 的一个内置函数,用于计算对象在内存中所占的字节大小

  1. 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))
  1. 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))
  1. 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 数组及其所有子对象的总内存占用情况。

0
看了该问题的人还看了