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 數組及其所有子對象的總內存占用情況。