डेटा को हाथ से साफ़ करने के बजाय pandas में क्यों साफ़ करें?

pandas में डेटा साफ़ करना उपयोगी है, क्योंकि हर चरण दर्ज होता है और अगले महीने के निर्यात किए गए डेटा पर कुछ ही सेकंड में दोबारा चलाया जा सकता है। इसके विपरीत, स्प्रेडशीट में हाथ से सुधार करना धीमा होता है, सुधार आसानी से छूट जाते हैं और उनका लेखा-परीक्षण संभव नहीं होता।

फ़र्नहिल गार्डन्स नाम के एक काल्पनिक बागवानी केंद्र समूह की कल्पना करें, जिसके चार केंद्र हैं। वित्त विश्लेषक तोमाश को ऑनलाइन ऑर्डर की मासिक CSV मिलती है। नीचे दिए नमूने में एक ही ऑर्डर दो बार है, केंद्र का नाम कई तरह से लिखा है, रकम में मुद्रा चिह्न और अल्पविराम हैं, तारीखों में कहीं दिन पहले है तो कहीं साल, और अनुपस्थित मान खाली खानों, 'लागू नहीं' और '-' के रूप में हैं। इसे हाथ से ठीक करने में एक दिन लगता है और कुल रकम भुगतान सेवा प्रदाता की रिपोर्ट से कभी पूरी तरह मेल नहीं खाती।

order_idsiteorder_dateamountpostcode
10231लीड्स03/11/2026£1,240.00LS6
10231लीड्स03/11/2026£1,240.00LS6
10232लीड्स2026-11-0486.50लागू नहीं
10233यॉर्क05/11/2026-वाईओ1
10234हैरोगेट142

आप pandas से डेटा की सफ़ाई चरण-दर-चरण कैसे करते हैं?

pandas में डेटा साफ़ करने के लिए पहले अनुपलब्ध मानों के संकेतक तय करके डेटा लोड करें, उसकी जाँच करें, पाठ को एकरूप बनाएँ, संख्याओं और तारीखों को सही प्रकार में बदलें, दोहराव हटाएँ, तय करें कि बची हुई खाली जगहों का क्या करना है, और फिर परिणाम को किसी भरोसेमंद कुल मान से मिलाएँ। इस क्रम में काम करने से एक सुधार दूसरे सुधार को निष्प्रभावी नहीं करता।

1. गायब मानों के संकेतक तय करके डेटा लोड करें

pandas का read_csv फ़ंक्शन फ़ाइल को पढ़कर DataFrame में लाता है। इसके na_values आर्ग्युमेंट में आप 'लागू नहीं' और '-' जैसी अतिरिक्त स्ट्रिंग की सूची दे सकते हैं जिन्हें अनुपलब्ध डेटा माना जाए। ये उन मानों के अलावा होंगी जिन्हें pandas पहले से अनुपलब्ध मानता है, जैसे खाली फ़ील्ड। इन्हें यहीं घोषित कर देने से बाद में इन्हें ढूँढ़ना नहीं पड़ता।

2. कुछ भी बदलने से पहले जाँचें

head से शुरुआती पंक्तियाँ देखें, info से कॉलम के प्रकार और गैर-रिक्त मानों की संख्या देखें, और isna के साथ sum का इस्तेमाल करके हर कॉलम में रिक्त मानों की संख्या देखें। जो मिले उसे लिखें: फ़र्नहिल में amount टेक्स्ट के रूप में संग्रहीत है और order_date में अलग-अलग प्रारूप हैं।

3. पाठ को मानकीकृत करें

कॉलम पर स्ट्रिंग मेथड का उपयोग करें: str.strip शुरुआत और अंत के खाली स्थान हटाता है, और str.lower या str.title बड़े-छोटे अक्षरों को एक जैसा करता है, जिससे ' लीड्स', 'लीड्स ' और 'लीड्स' को एक ही स्थान माना जाता है। फिर बची हुई अलग वर्तनियाँ पकड़ने के लिए unique से अलग-अलग मानों की सूची निकालें।

4. संख्याओं को बदलें

str.replace से मुद्रा चिह्न और हज़ार के विभाजक वाले अल्पविराम हटाएँ, फिर to_numeric से बदलें। इसके errors तर्क को coerce पर सेट करने से जिस भी मान को यह पढ़ नहीं पाता, उसे प्रक्रिया रोकने के बजाय अनुपलब्ध मान में बदल देता है। इससे आप उन पंक्तियों को चुपचाप खो देने के बजाय गिनकर उनकी समीक्षा कर सकते हैं।

5. तारीखों का प्रारूप बदलें

to_datetime टेक्स्ट को सही तारीखों में बदलता है। मिले-जुले प्रारूपों के लिए, जहाँ संभव हो, प्रारूप स्पष्ट रूप से बताएँ या ब्रिटेन की शैली वाली तारीखों के लिए dayfirst सेट करें। साथ ही errors को coerce पर सेट करें, ताकि जिन तारीखों को पढ़ा न जा सके वे NaT बन जाएँ। pandas में NaT का मतलब है कि तारीख उपलब्ध नहीं है। ध्यान रखें कि dayfirst एक प्राथमिकता है, सख्त नियम नहीं, इसलिए नतीजे जाँचें।

6. दोहराई गई प्रविष्टियाँ हटाएँ

drop_duplicates दोहराई गई पंक्तियों को हटाता है। डिफ़ॉल्ट रूप से कोई पंक्ति तभी दोहराई गई मानी जाती है जब उसका हर कॉलम मेल खाता हो; इसके subset आर्ग्युमेंट से आप order_id जैसे चुने हुए कॉलम के आधार पर दोहराव तय कर सकते हैं, और keep तय करता है कि पहली प्रति बचेगी या आखिरी।

7. बाकी कमियों के बारे में निर्णय लें

dropna उन पंक्तियों को हटाता है जिनमें मान नहीं हैं, लेकिन डिफ़ॉल्ट रूप से यह किसी भी कॉलम में मान न होने पर पूरी पंक्ति हटा देता है। केवल उन्हीं पंक्तियों को हटाने के लिए इसके subset आर्ग्युमेंट का इस्तेमाल करें जिनमें amount जैसे वास्तव में ज़रूरी मान नहीं हैं, या खाली जगह पर तय मान भरने के लिए fillna का इस्तेमाल करें। फिर कॉलम के अंतिम डेटा प्रकार तय करने के लिए astype का इस्तेमाल करें, जैसे site के लिए श्रेणी प्रकार।

डेटा की सफाई का कमजोर और बेहतर प्रयास कैसा होता है?

कमज़ोर तरीके में फ़ाइल को read_csv से लोड किया जाता है, बिना किसी आर्ग्युमेंट के dropna चलाया जाता है और फिर बिना किसी आर्ग्युमेंट के drop_duplicates। चूँकि postcode अक्सर खाली होता है, dropna बड़ी संख्या में वैध ऑर्डर हटा देता है। और चूँकि ' Leeds' और 'leeds ' अब भी अलग हैं, कुछ दोहराव बचे रहते हैं। राजस्व का हिसाब वास्तविकता से बहुत कम आता है और किसी को पता नहीं होता कि कौन-सी पंक्तियाँ हटीं।

बेहतर की गई प्रक्रिया डेटा लोड करते समय 'N/A' और '-' को अनुपस्थित मान घोषित करती है, site से अतिरिक्त खाली जगह हटाकर हर शब्द का पहला अक्षर बड़ा करती है, '£' और अल्पविराम हटाने के बाद to_numeric से amount बदलती है, dayfirst और coerce से order_date बदलती है, order_id के आधार पर दोहराई गई प्रविष्टियाँ हटाकर पहली प्रविष्टि रखती है, और केवल वे पंक्तियाँ हटाती है जिनमें amount नहीं है। इसके बाद यह बताती है कि हर चरण में कितनी पंक्तियाँ हटाई गईं और कुल राजस्व की तुलना भुगतान प्रदाता की रिपोर्ट से करती है। तोमाश अब हर अंतर समझा सकते हैं।

आप कैसे जाँचते हैं कि डेटा की सफ़ाई सही ढंग से हुई है?

डेटा की सफ़ाई की जाँच के लिए हर चरण से पहले और बाद में पंक्तियाँ गिनें, किसी प्रमुख कुल आँकड़े की तुलना स्वतंत्र स्रोत से करें, और उन पंक्तियों की समीक्षा करें जिनके मान रूपांतरण के दौरान अनुपलब्ध हो गए थे। कॉलम के डेटा प्रकारों की पुष्टि के लिए info फिर से चलाएँ और साइट जैसी श्रेणियों के अलग-अलग मानों की सूची बनाएँ। अगर किसी चरण में उम्मीद से ज़्यादा पंक्तियाँ हट गई हों, तो आगे बढ़ने से पहले उन्हें देखें।

pandas में डेटा की सफ़ाई करने में AI सहायक कैसे मदद कर सकता है?

यदि आप हर कॉलम, उसकी समस्याओं और लागू किए जाने वाले नियम का विवरण दें, तो AI सहायक डेटा साफ़ करने के चरणों का मसौदा बना सकता है और अनजान फ़ंक्शन समझा सकता है। नाम, पते या पूरे पोस्टकोड जैसे असली ग्राहक डेटा को पेस्ट करने के बजाय, काल्पनिक उदाहरणों से डेटा का ढाँचा समझाएँ। उससे हर चरण के बाद पंक्तियों की संख्या बताने को कहें, और वह जिस भी फ़ंक्शन आर्ग्युमेंट का इस्तेमाल करे, उसे pandas के आधिकारिक दस्तावेज़ों से मिलाकर जाँचें। सहायक कभी-कभी ऐसे विकल्प सुझाते हैं जो मौजूद नहीं हैं या अलग-अलग संस्करणों में बदल चुके हैं।

pandas से डेटा साफ़ करते समय आम तौर पर कौन-सी गलतियाँ होती हैं?

सबसे आम गलती बिना किसी आर्ग्युमेंट के dropna चलाना और ऐसी पंक्तियाँ खो देना है जिनमें एक वैकल्पिक कॉलम के अलावा सब ठीक था। अन्य गलतियाँ हैं: पाठ को मानकीकृत करने से पहले दोहराव हटाना, दिन और महीने का क्रम जाँचे बिना तारीखें बदलना, मूल फ़ाइल के ऊपर लिख देना, और साफ़ किए गए डेटा के कुल का किसी भरोसेमंद आँकड़े से मिलान कभी न करना।

Tosheo.ai में इस पाठ की क्या जगह है?

यह डेटा विज्ञान पाठ्यक्रम की डेटा विज्ञान और विश्लेषण श्रेणी का कोड पाठ है। Tosheo.ai में हर विषय की शुरुआत अवधारणाओं और बिना कोड लिखे अभ्यास से होती है। कोड पाठ अधिक गहराई में जाने का वैकल्पिक अध्ययन-पथ हैं: साइन-अप के बाद इस पाठ के पूरे व्यावहारिक संस्करण में आप Python और pandas से डेटा सफ़ाई के हर चरण का कोड लिखकर चलाते हैं, और आपके काम को स्पष्ट मूल्यांकन मानदंडों के आधार पर अंक दिए जाते हैं। अगर Python आपके लिए नया है, तो Python पाठ्यक्रम से शुरू करें। यह व्यावहारिक कौशल विकसित करता है, न कि कोई गहन प्रशिक्षण कार्यक्रम या नौकरी की गारंटी है।

स्रोत और दायरा

pandas दस्तावेज़: read_csv (जाँच की तारीख: 19 October 2026) ↗

pandas उपयोगकर्ता मार्गदर्शिका: अनुपलब्ध डेटा के साथ काम करना (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: DataFrame.dropna (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: DataFrame.drop_duplicates (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: DataFrame.astype (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: to_numeric (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: to_datetime (जाँच की तारीख: 19 October 2026) ↗

pandas दस्तावेज़: Series.str.strip (जाँच की तारीख: 19 October 2026) ↗