Memory Optimization करना
dtypes को छोटा करना और सिर्फ ज़रूरी columns load करना DataFrame के memory उपयोग को काफी कम कर सकता है।
In this page:
Syntax
df.memory_usage(deep=True)
df["column"] = pd.to_numeric(df["column"], downcast="integer")
Memory optimization
memory_usage(deep=True) हर column के bytes दिखाता है। pd.to_numeric(downcast="integer") से numbers को downcast करें, दोहराए गए text को category में बदलें और सिर्फ usecols पढ़ें। ये steps अक्सर memory को आधे से ज़्यादा कम कर देते हैं।
Note:
df.info(memory_usage="deep") कुल योग print करता है।
उदाहरण: Memory optimization
import pandas as pd
df = pd.DataFrame({"id": range(1000), "grade": ["A", "B"] * 500})
before = df.memory_usage(deep=True).sum()
df["id"] = pd.to_numeric(df["id"], downcast="integer")
df["grade"] = df["grade"].astype("category")
after = df.memory_usage(deep=True).sum()
print(df.dtypes.to_dict())
print("smaller:", after < before)
# Output:
# {'id': dtype('int16'), 'grade': CategoricalDtype(categories=['A', 'B'], ordered=False)}
# smaller: True
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- text columns के लिए deep=True को नज़रअंदाज़ करना
- ऐसी values को downcast करना जो बाद में overflow हो जाएं
- ऐसे columns load करना जिनका आप कभी उपयोग नहीं करते
चैप्टर सारांश
- memory_usage(deep=True) मापता है
- numbers को downcast करें
- repeats के लिए category का उपयोग करें
- सिर्फ ज़रूरी columns load करें
🔒
Chapter Quiz — Complete all 6 topics to unlock
0/6 topics done
Complete these topics first: