← Back to Pandas Course | Chapter 13: Performance & Best Practices | Lesson 4 of 6

Memory Optimization करना

dtypes को छोटा करना और सिर्फ ज़रूरी columns load करना DataFrame के memory उपयोग को काफी कम कर सकता है।

In this page:

  1. Memory optimization
Syntax
python
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

python
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. #}
आम गलतियां
  1. text columns के लिए deep=True को नज़रअंदाज़ करना
  2. ऐसी values को downcast करना जो बाद में overflow हो जाएं
  3. ऐसे 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:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.