पांडास इंस्टॉल करना और आपकी पहली टेबल
पांडास पायथन के साथ नहीं आता। वर्चुअल एनवायरनमेंट बनाना, pip से इंस्टॉल करना, वर्ज़न जांचना, और अपने हाथों से पहला DataFrame बनाना।
- 1समस्या
- 2समझें
- 3उदाहरण
- 4अनुमान
- 5स्वयं करें
- 6चुनौती
वह समस्या जिसे हम हल कर रहे हैं
एक दुकान की तीन महीने की बिक्री का डेटा एक CSV फ़ाइल में है — बारह हज़ार पंक्तियाँ (rows)। सवाल बहुत सीधा है: किस उत्पाद की बिक्री सबसे ज़्यादा हुई?
आप इसे उस पायथन ज्ञान से भी हल कर सकते हैं जो आपके पास पहले से है। फ़ाइल खोलें, हर पंक्ति पढ़ें, कॉमा के आधार पर विभाजित करें, संख्याओं में बदलें, और एक-एक करके उन्हें जोड़ें। चालीस लाइनों का कोड, और हर चरण में कोई न कोई ग़लती होने की संभावना।
पांडास (pandas) में यह काम केवल दो लाइनों का है। क्योंकि पांडास पायथन को वह चीज़ देता है जो पहले उसके पास नहीं थी: एक टेबल। पंक्तियों और स्तंभों (columns) का एक पूरा ग्रिड एक ही वैल्यू के रूप में सुरक्षित रहता है, और इसमें जोड़ना, फ़िल्टर करना और सॉर्ट करना — प्रत्येक केवल एक ही ऑपरेशन का काम है।
लेकिन पहले एक बात स्पष्ट कर लेना ज़रूरी है। print, len और input पायथन के साथ ही आते हैं। पांडास इसके साथ नहीं आता। इसे अलग से इंस्टॉल करना पड़ता है, और यह ठीक से न समझ पाना कि यह कहाँ इंस्टॉल होता है, पहले ही दिन लोगों को एक ऐसे एरर में उलझा देता है जिसका कारण समझना मुश्किल लगता है।
इस अध्याय के अंत में आप कर पाएंगे
- पायथन की अपनी स्टैंडर्ड लाइब्रेरी और एक बाहरी पैकेज के अंतर को समझना
- किसी प्रोजेक्ट के लिए एक वर्चुअल एनवायरनमेंट बनाना और सक्रिय करना
pipके ज़रिए पांडास इंस्टॉल करना और उसके वर्ज़न की पुष्टि करना- अपने हाथों से अपना पहला
DataFrameबनाना और प्रिंट करना ModuleNotFoundErrorको पढ़ना और यह पहचानना कि क्या ग़लत हुआ
ज़रूरी शर्तें: पायथन कोर्स से, टर्मिनल, फ़ोल्डर्स और आपका पहला प्रोजेक्ट और वेरिएबल्स और टाइप्स।
पांडास पायथन का हिस्सा नहीं है
पायथन के साथ जो कुछ भी आता है उसे स्टैंडर्ड लाइब्रेरी कहा जाता है — print, len, math, random सब वहीं रहते हैं। पांडास वहाँ नहीं रहता। यह एक बाहरी पैकेज है, जिसे अन्य लोगों ने लिखा है और PyPI नामक रिपॉजिटरी में प्रकाशित किया है।
इसे डाउनलोड करने वाला टूल pip है, जो पायथन के साथ ही आता है।
और यह पहला सवाल खड़ा करता है, जिसे अगर छोड़ दिया जाए तो बाद में परेशानी होती है: यह इंस्टॉल कहाँ होता है?
वर्चुअल एनवायरनमेंट क्यों ज़रूरी है
यदि आप pip install pandas टाइप करते हैं, तो पांडास आपकी पूरी मशीन के मुख्य पायथन में चला जाता है। एक प्रोजेक्ट के लिए यह ठीक काम करता है। लेकिन छह महीने बाद, जब किसी दूसरे प्रोजेक्ट को पांडास के किसी अलग वर्ज़न की ज़रूरत होगी, तो दोनों एक ही जगह के लिए टकराएँगे — और एक को ठीक करने से दूसरा टूट जाएगा।
इसका समाधान है प्रत्येक प्रोजेक्ट के लिए एक अलग कमरा: एक वर्चुअल एनवायरनमेंट। यह वास्तव में प्रोजेक्ट के अंदर का एक साधारण फ़ोल्डर होता है जो उस प्रोजेक्ट के पैकेजों को संभालता है। प्रोजेक्ट डिलीट करने पर पैकेज भी हट जाते हैं, और मशीन का मुख्य पायथन साफ़-सुथरा बना रहता है।
टर्मिनल में, अपने प्रोजेक्ट्स फ़ोल्डर में रहते हुए:
cd D:\python-lab
mkdir pandas-lab
cd pandas-lab
python -m venv .venvअब इसे सक्रिय (activate) करें:
.venv\Scriptsctivateएक बार सक्रिय होने के बाद, कमरे का नाम प्रॉम्प्ट के सामने दिखाई देने लगता है:
(.venv) PS D:\python-lab\pandas-lab>यह(.venv)ही सब कुछ है। यदि आपको यह नहीं दिखता है, तो आप एनवायरनमेंट से बाहर हैं, औरpip installपैकेज को कहीं और डाल देगा। हर नए टर्मिनल को दोबाराactivateकरने की आवश्यकता होती है — यह ऐसी चीज़ नहीं है जिसे आप एक बार सेट करके भूल जाएँ।
यदि PowerShell शिकायत करे कि स्क्रिप्ट्स चलाना अक्षम (disabled) है, तो इसे एक बार चलाएँ:
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedबाहर निकलने के लिए, deactivate टाइप करें।
इंस्टॉल करें, फिर सत्यापित करें
pip install pandasकुछ सेकंड बाद यह Successfully installed ... के साथ समाप्त हो जाता है। ध्यान दें कि पांडास के साथ NumPy भी डाउनलोड हो गया — पांडास आंतरिक रूप से NumPy का उपयोग करता है, और pip इन निर्भरताओं को आपके लिए अपने आप हल कर देता है।
अब पुष्टि करें। check.py नामक एक फ़ाइल बनाएँ:
import pandas as pd
print(pd.__version__)2.2.3आपका नंबर अलग हो सकता है, जो कि बिल्कुल सामान्य है। महत्वपूर्ण बात यह है कि कोई वर्ज़न नंबर प्रिंट हुआ — इसका मतलब है कि पायथन को पांडास मिल गया।
import pandas as pd वाली लाइन पर दो बातें। import pandas पांडास को लाता है; as pd इसे एक संक्षिप्त नाम देता है। pd नाम अनिवार्य नहीं है, लेकिन दुनिया भर का लगभग सारा पांडास कोड इसी का उपयोग करता है — इसलिए कुछ और लिखने से आपका कोड दूसरों के लिए पढ़ना कठिन हो जाता है। परंपरा का पालन करें।
पूर्ण उदाहरण
first_frame.py:
import pandas as pd
# डिक्शनरी से एक DataFrame: प्रत्येक key एक कॉलम का नाम है,
# प्रत्येक list ऊपर से नीचे तक उस कॉलम की वैल्यूज़ है।
sales = pd.DataFrame({
"product": ["pen", "notebook", "bag"],
"quantity": [12, 5, 2],
"price": [15.0, 60.0, 850.0],
})
print(sales)product quantity price
0 pen 12 15.0
1 notebook 5 60.0
2 bag 2 850.0जो प्रिंट हुआ है उसे ध्यान से देखें, क्योंकि इसका हर हिस्सा आने वाले अध्यायों में बहुत मायने रखता है।
शीर्ष पर कॉलम के नाम हैं — product, quantity, price। बाईं ओर 0, 1, 2 हैं। वे कोई कॉलम नहीं हैं; वे इंडेक्स (index) हैं, पंक्तियों के नाम। आपने उन्हें डिक्शनरी में नहीं लिखा था; पांडास ने शून्य से गिनती करते हुए उन्हें खुद प्रदान किया।
और price कॉलम में 15.0 पर ध्यान दें। आपने 15.0 लिखा था, इसलिए पूरा कॉलम दशमलव के रूप में प्रिंट होता है, भले ही 850.0 एक पूर्ण संख्या हो सकती थी। किसी कॉलम में प्रत्येक वैल्यू एक ही टाइप की होती है — यह पांडास का एक केंद्रीय नियम है, और अगले अध्याय का मुख्य विषय भी।
टेबल हाथ में होने पर उससे सवाल पूछना बहुत आसान है:
import pandas as pd
sales = pd.DataFrame({
"product": ["pen", "notebook", "bag"],
"quantity": [12, 5, 2],
"price": [15.0, 60.0, 850.0],
})
print(sales.shape)
print(sales["quantity"].sum())(3, 3)
19shape बताता है कि टेबल कितनी बड़ी है — तीन पंक्तियाँ, तीन कॉलम, उसी क्रम में। और sales["quantity"].sum() एक कॉलम में प्रत्येक वैल्यू को जोड़ता है। बारह हज़ार पंक्तियों के साथ भी यह लाइन बिल्कुल वैसी ही होगी, और यही पांडास सीखने का सबसे बड़ा कारण है।
जब यह काम न करे
ModuleNotFoundError: No module named 'pandas' पायथन को पांडास नहीं मिल सका। लगभग हमेशा इसका मतलब यह होता है कि जहाँ इसे इंस्टॉल किया गया था और जहाँ से प्रोग्राम चल रहा है, वे दोनों जगहें एक नहीं हैं। प्रॉम्प्ट में (.venv) की जाँच करें; यदि यह ग़ायब है, तो activate करें और दोबारा चलाएँ। एनवायरनमेंट सक्रिय होने पर, pip list दिखाएगा कि क्या पांडास वास्तव में वहाँ मौजूद है।
'pip' is not recognized as an internal or external command pip PATH में नहीं है। इसकी जगह python -m pip install pandas लिखें — यह चल रहे पायथन के माध्यम से pip को कॉल करता है, इसलिए यह PATH के बिना काम करता है और इसमें कोई संदेह नहीं रहता कि किस पायथन में इंस्टॉलेशन हो रहा है।
.venv\Scriptsctivate : File cannot be loaded because running scripts is disabled एक PowerShell सुरक्षा नीति। एक बार Set-ExecutionPolicy -Scope CurrentUser RemoteSigned चलाएँ, फिर एक नए टर्मिनल में दोबारा प्रयास करें।
सब कुछ काम करता है, लेकिन एडिटर लाल अंडरलाइन दिखाता है एडिटर संभवतः किसी अन्य पायथन को देख रहा है। VS Code में, Ctrl + Shift + P दबाएँ → Python: Select Interpreter चुनें → प्रोजेक्ट के .venv वाले इंटरप्रेटर का चयन करें। यदि प्रोग्राम टर्मिनल में चलता है, तो कोड बिल्कुल ठीक है — लाल रेखा केवल एडिटर का भ्रम है।
DataFrame लिखते समय NameError यह केवल DataFrame नहीं बल्कि pd.DataFrame होना चाहिए। import pandas as pd पूरी लाइब्रेरी को pd नाम के तहत लाता है, इसलिए इसके अंदर की हर चीज़ तक pd. के माध्यम से पहुँचा जाता है।
चरण 4 / 6 — अनुमान
अपनी समझ की जाँच करें
shape क्या प्रिंट करेगा, और दोनों संख्याओं का क्रम क्या होगा?
import pandas as pd
sales = pd.DataFrame({
"product": ["pen", "notebook", "bag"],
"quantity": [12, 5, 2],
"price": [15.0, 60.0, 850.0],
})
print(sales.shape)- A(3, 3)
- B(3,)
- C(3, 4)
- D3 rows, 3 columns
प्रॉम्प्ट की शुरुआत में (.venv) दिखाई देने का क्या अर्थ है?
- Aवर्चुअल एनवायरनमेंट इस टर्मिनल में सक्रिय है — `pip install` अब इस प्रोजेक्ट के दायरे में इंस्टॉल करेगा
- Bपांडास इंस्टॉल हो चुका है
- Cआप `.venv` नाम के फ़ोल्डर के अंदर स्थित हैं
- Dपायथन एक विशेष सुरक्षित मोड में चल रहा है
pip install pandas सफल रहा था, लेकिन अगले दिन एक नए टर्मिनल में वही फ़ाइल चलाने पर ModuleNotFoundError: No module named 'pandas' आ रहा है। इसका सबसे संभावित कारण क्या है?
- Aनए टर्मिनल में एनवायरनमेंट को सक्रिय नहीं किया गया था, इसलिए दूसरा पायथन चल रहा है — जिसमें पांडास नहीं है
- Bइंस्टॉलेशन वास्तव में विफल हो गया था
- Cकंप्यूटर बंद करने पर इंस्टॉल किए गए पैकेज मिट जाते हैं
- Dफ़ाइल में `import pandas as pd` के बजाय `import pandas` लिखा गया है
उत्तर देने के लिए अकाउंट आवश्यक है
अपने उत्तर जाँचने के लिए साइन इन करें
प्रश्न ऊपर दिए गए हैं, और मन में उत्तर सोचना ही मुख्य कार्य है। सही उत्तर, व्याख्या और तीन-स्तरीय संकेत देखने के लिए साइन इन करें।
आपकी बारी
एक नया फ़ोल्डर बनाएँ, उसमें अपना वर्चुअल एनवायरनमेंट बनाएँ और पांडास इंस्टॉल करें, फिर stock.py नामक एक फ़ाइल लिखें जिसमें:
- कम से कम चार उत्पादों का तीन कॉलम वाला एक
DataFrameहो — एक टेक्स्ट, एक पूर्ण संख्या, एक दशमलव - पूरी टेबल प्रिंट की गई हो
shapeप्रिंट हो, जो पंक्तियों और कॉलमों की संख्या दिखाए- दोनों संख्यात्मक कॉलमों का योग प्रिंट हो
फिर इसे जानबूझकर तोड़ें: एनवायरनमेंट से बाहर निकलने के लिए टर्मिनल में deactivate टाइप करें और फ़ाइल को दोबारा चलाएँ। कौन सा एरर आता है, और वह आपको ठीक-ठीक क्या बता रहा है?
उस अंतिम चरण को न छोड़ें। आप कई बार ModuleNotFoundError का सामना करेंगे, और आज जानबूझकर इसे देखना अगली बार एक सेकंड में इसका कारण पहचानने में मदद करेगा।
Step 6 of 6
चुनौती — the chapter quiz
सरल से कठिन — दस प्रश्न, अंतिम वाले जानबूझकर चुनौतीपूर्ण बनाए गए हैं।
Sign in to take the quiz