EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग
df.info(), df.describe(), अनुपलब्ध मानों का ऑडिट, डेटा प्रकार जाँच और विशिष्टता विश्लेषण।
EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अन्वेषणात्मक डेटा विश्लेषण क्या है?
अन्वेषणात्मक डेटा विश्लेषण (EDA) मॉडल बनाने से पहले किसी भी डेटासेट के साथ किया जाने वाला पहला काम है। इसका उद्देश्य संरचना को समझना, समस्याओं का पता लगाना और सहज समझ विकसित करना है।
एक व्यवस्थित प्रारंभिक निरीक्षण की जाँच-सूची इन प्रश्नों के उत्तर देती है: डेटा कितना बड़ा है? स्तंभों के डेटा-प्रकार क्या हैं? गुम मान कहाँ हैं? क्या दोहराई गई पंक्तियाँ हैं? मान किस प्रकार वितरित हैं?
- डेटा-गुणवत्ता की समस्याओं को जल्दी पकड़ना
- यह तय करना कि किन विशेषताओं की सफाई आवश्यक है
- बाद में जाँचने के लिए परिकल्पनाएँ बनाना
डेटा लोड करना
सब कुछ एक DataFrame लोड करने और head() तथा shape से उसकी त्वरित झलक लेने से शुरू होता है।
shape एक (rows, columns) ट्यूपल लौटाता है, इसलिए आपको तुरंत पता चल जाता है कि आप किस पैमाने के डेटा पर काम कर रहे हैं।
import pandas as pd
df = pd.read_csv("customers.csv")
print(df.shape) # (10000, 8)
print(df.head()) # first 5 rowsdf.info() — डेटा-प्रकार और गैर-रिक्त मानों की संख्याएँ
df.info() सबसे उपयोगी पहला निर्देश है। यह हर स्तंभ का नाम, उसका डेटा-प्रकार और गैर-रिक्त मानों की संख्या दिखाता है।
यदि कोई संख्यात्मक स्तंभ object के रूप में दिखाई देता है, तो कुछ गड़बड़ है—जैसे अनावश्यक पाठ, अल्पविराम या मुद्रा-चिह्न। यदि अलग-अलग स्तंभों में गैर-रिक्त मानों की संख्याएँ अलग हैं, तो आपके डेटा में गुम मान हैं।
df.info()
# <class pandas.DataFrame>
# RangeIndex: 10000 entries
# age 9800 non-null float64
# city 10000 non-null object
# income 9500 non-null float64df.describe() — संख्यात्मक सारांश
df.describe() हर संख्यात्मक स्तंभ के लिए count, mean, std, min, चतुर्थक (25/50/75%) और max देता है।
इसमें चेतावनी के संकेत खोजें: आयु वाले स्तंभ में min का -1 होना, 75वें चतुर्थक से बहुत अधिक max होना (अपवर्ती मान), या माध्य का माध्यिका से बहुत दूर होना (skew)।
print(df.describe())
# Use include="all" to also summarize categorical columns
print(df.describe(include="all"))df.isnull().sum() — गुम मानों की गणना
isnull() को sum() के साथ जोड़ने पर प्रत्येक स्तंभ में गुम मानों की गणना होती है। कुल योग पाने के लिए एक और .sum() जोड़ें।
गंभीरता का आकलन करने के लिए इसे प्रतिशत में बदलें: जिस स्तंभ में 60% मान गुम हों, उसे हटाना उचित हो सकता है, जबकि 2% गुम मानों को अनुमानित मानों से भरना आसान होता है।
print(df.isnull().sum())
missing_pct = df.isnull().sum() / len(df) * 100
print(missing_pct.sort_values(ascending=False))df.duplicated().sum() — दोहराई गई पंक्तियों का पता लगाना
df.duplicated() एक बूलियन श्रेणी लौटाता है, जो उन पंक्तियों को चिह्नित करती है जो पहले की किसी पंक्ति की हूबहू प्रतिलिपियाँ हैं। इसका योग करने पर दोहराई गई पंक्तियों की संख्या मिलती है।
आप subset से दोहराव की जाँच को मुख्य स्तंभों तक सीमित कर सकते हैं—यह तब उपयोगी है जब कोई id अद्वितीय होना चाहिए।
print(df.duplicated().sum()) # exact duplicate rows
print(df.duplicated(subset=["id"]).sum()) # duplicate ids
df = df.drop_duplicates()value_counts() — श्रेणियों की आवृत्तियाँ
value_counts() किसी स्तंभ में हर अद्वितीय मान के दिखाई देने की संख्या गिनता है। श्रेणीबद्ध डेटा की जाँच के लिए यह सबसे उपयोगी साधन है।
कच्ची गणनाओं के बजाय अनुपात देखने के लिए normalize=True का उपयोग करें, और गुम मानों को भी गणना में शामिल करने के लिए dropna=False का उपयोग करें।
print(df["city"].value_counts())
print(df["city"].value_counts(normalize=True))
print(df["city"].value_counts(dropna=False))विशिष्ट मानों की संख्या की जाँच
विशिष्ट मानों की संख्या किसी स्तंभ में अलग-अलग मानों की संख्या होती है, जिसे nunique() देता है।
- कम विशिष्टता (कुछ ही श्रेणियाँ) → वन-हॉट कूटलेखन के लिए उपयुक्त।
- अधिक विशिष्टता (हजारों अद्वितीय स्ट्रिंग, जैसे उपयोगकर्ता आईडी) → सामान्यतः जैसी है वैसी उपयोगी विशेषता नहीं होती।
for col in df.select_dtypes("object").columns:
print(col, "->", df[col].nunique(), "unique")स्थिर और आईडी-जैसे स्तंभों का पता लगाना
प्रोफ़ाइल बनाते समय दो चरम स्थितियों पर ध्यान देना उपयोगी है:
- स्थिर स्तंभ (
nunique() == 1) कोई सूचना नहीं देते—उन्हें हटा दें। - आईडी-जैसे स्तंभ (
nunique() == len(df)) हर पंक्ति के लिए अद्वितीय होते हैं और अधिकांश मॉडलों के लिए कोई उपयोगी सूचना नहीं देते।
n = len(df)
for col in df.columns:
u = df[col].nunique()
if u == 1:
print(col, "is constant")
elif u == n:
print(col, "is ID-like")डेटा-प्रकार और स्मृति उपयोग
यह सुनिश्चित करने के लिए df.dtypes जाँचें कि स्तंभ सही प्रकार में संग्रहीत हैं, और अधिक स्मृति लेने वाले स्तंभों का पता लगाने के लिए df.memory_usage(deep=True) जाँचें।
संख्यात्मक डेटा-प्रकारों को छोटे प्रकारों में बदलने और कम विशिष्टता वाली स्ट्रिंग को category में बदलने से बड़े डेटासेट में स्मृति उपयोग बहुत कम हो सकता है।
print(df.dtypes)
print(df.memory_usage(deep=True))
df["city"] = df["city"].astype("category")पुनः उपयोग योग्य प्रोफ़ाइल कोड-खंड
आप पूरी जाँच-सूची को एक सहायक फ़ंक्शन में समेट सकते हैं, ताकि हर नए डेटासेट का एक जैसा प्रारंभिक निरीक्षण हो।
किसी भी DataFrame को लोड करते ही इसे चलाएँ, ताकि आकार, डेटा-प्रकार, गुम मान, दोहराव और विशिष्ट मानों की संख्या तुरंत सामने आ जाए।
def profile(df):
print("Shape:", df.shape)
print(df.info())
print("Missing:\n", df.isnull().sum())
print("Dupes:", df.duplicated().sum())
for c in df.select_dtypes("object"):
print(c, df[c].nunique(), "unique")
profile(df)त्वरित जाँच: गुम मान
आपको प्रत्येक स्तंभ में गुम मानों का प्रतिशत निकालना है।
पुनरावृत्ति: EDA की प्रारंभिक निरीक्षण-जाँच सूची
अब आपके पास किसी भी डेटासेट के लिए दोहराई जा सकने वाली प्रारंभिक प्रक्रिया है:
- पैमाने और पूर्वावलोकन के लिए
shapeऔरhead() - डेटा-प्रकारों और गैर-रिक्त मानों की संख्याओं के लिए
info() - संख्यात्मक सारांश और अपवर्ती मानों के संकेतों के लिए
describe() - गुम मानों के लिए
isnull().sum() - दोहराई गई पंक्तियों के लिए
duplicated().sum() - श्रेणियों की आवृत्तियों और विशिष्ट मानों की संख्या के लिए
value_counts()औरnunique()
अब हम एकचर विश्लेषण द्वारा अलग-अलग स्तंभों की गहराई से जाँच करेंगे।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 225
अक्सर पूछे जाने वाले प्रश्न
क्या “EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग” पाठ निःशुल्क है?
हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग” में मैं क्या सीखूँगा?
df.info(), df.describe(), अनुपलब्ध मानों का ऑडिट, डेटा प्रकार जाँच और विशिष्टता विश्लेषण। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- EDA कार्यप्रवाह और डेटा प्रोफ़ाइलिंग
- एकचर विश्लेषण
- द्विचर और बहुचर विश्लेषण
- फ़ीचर वितरण और लक्ष्य विश्लेषण