📘 CodingMarble Learn

पांडास सीरीज़: लेबल वाला डेटा का एक स्तंभ

पांडास पायथन की लाइब्रेरी है जो तालिका वाले डेटा के साथ काम करती है, और मैटप्लॉटलिब चार्ट बनाती है। सीरीज़ मानों का एक स्तंभ है, जिसमें हर मान का एक लेबल होता है। इन लेबलों को इंडेक्स कहते हैं। सीरीज़ सूची या NumPy ऐरे से, डिक्शनरी से या एक अकेले मान से बनती है। दो सीरीज़ का गणित लेबल मिलाकर होता है; जिस लेबल का जोड़ीदार न हो वहाँ NaN आता है। head() और tail() शुरू या आख़िर के मान दिखाते हैं, और मान लेबल, स्थान, स्लाइस या शर्त से चुने जाते हैं।

🎬 कदम-दर-कदम कहानी

  1. पांडास तालिका वाला डेटा सँभालता है; मैटप्लॉटलिब चार्ट बनाता है।
  2. सीरीज़ एक स्तंभ है: हर मान पर एक लेबल, जिसे इंडेक्स कहते हैं।
  3. सीरीज़ ऐरे, डिक्शनरी या एक दोहराए गए मान से बनती है।
  4. दो सीरीज़ का गणित लेबल मिलाकर होता है; लेबल न मिले तो NaN।
  5. head, tail, लेबल, स्थान, स्लाइस और शर्त से मान चुनें।
  6. आपकी बारी: कोई ऑपरेशन चुनें और देखें कौन-से मान चमकते हैं।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

सीरीज़ और पायथन सूची में क्या अंतर है?

सूची में सिर्फ़ स्थान होते हैं। सीरीज़ में मान के साथ लेबल (इंडेक्स) होते हैं, और गणित सब मानों पर एक साथ, लेबल मिलाकर होता है।

डिक्शनरी की कुंजियाँ इंडेक्स क्यों बन गईं?

पांडास डिक्शनरी को लेबल → मान की तरह पढ़ता है। इसलिए कुंजियाँ इंडेक्स और मान डेटा बनते हैं।

दो सीरीज़ जोड़ने पर NaN क्यों आता है?

पांडास एक जैसे लेबल वाले मान जोड़ता है। जो लेबल सिर्फ़ एक सीरीज़ में है, उसका जोड़ीदार नहीं, तो NaN आता है। fill_value=0 के साथ add() लगाएँ।

s[1:3] में स्थान 3 क्यों नहीं आता पर s['a':'c'] में 'c' आता है?

स्थान स्लाइस पायथन के सामान्य नियम मानता है (आख़िरी छोड़ो)। लेबल स्लाइस में आख़िरी लेबल शामिल होता है।

loc और iloc में क्या अंतर है?

loc लेबल से चुनता है (s.loc['Zoya'])। iloc 0 से गिने स्थान से चुनता है (s.iloc[3])।

स्लाइस का अनुमान जल्दी कैसे जाँचें?

कदम 6 में स्लाइस वाला बटन दबाएँ और देखें कौन-से बार उठते हैं।

पांडास और मैटप्लॉटलिब लाइब्रेरी

लाइब्रेरी तैयार कोड का एक डिब्बा है, जिसे हम अपने प्रोग्राम में इस्तेमाल कर सकते हैं।

pip install pandas matplotlib     # एक बार, कमांड प्रॉम्प्ट में
import pandas as pd               # pd छोटा नाम (उपनाम) है
import numpy as np
import matplotlib.pyplot as plt

सीरीज़ क्या है?

सीरीज़ एक-आयामी लेबल वाला ऐरे है। यानी मानों का एक स्तंभ, और हर मान का एक लेबल। सारे लेबल मिलकर इंडेक्स कहलाते हैं।

s = pd.Series([92, 75, 58], index=['Asha', 'Ravi', 'Mohan'])
print(s)
Asha     92
Ravi     75
Mohan    58
dtype: int64

इंडेक्स न दें तो पांडास अपने आप 0, 1, 2… लगाता है। काम के गुण: s.index, s.values, s.dtype, s.size, s.shape, s.empty, s.name।

ndarray, डिक्शनरी और स्केलर से सीरीज़ बनाना

NumPy ऐरे (ndarray) से

a = np.array([10, 20, 30])
s = pd.Series(a)                         # इंडेक्स 0, 1, 2
s = pd.Series(a, index=['x', 'y', 'z'])  # इंडेक्स की लंबाई बराबर हो

डिक्शनरी से

d = {'Jan': 31, 'Feb': 28, 'Mar': 31}
s = pd.Series(d)       # कुंजियाँ इंडेक्स, मान डेटा बनते हैं

स्केलर (एक मान) से

s = pd.Series(5, index=['a', 'b', 'c', 'd'])   # 5 चार बार दोहराया

स्केलर के साथ इंडेक्स देना ज़रूरी है, वरना सिर्फ़ एक मान वाली सीरीज़ बनेगी।

सीरीज़ पर गणितीय संक्रियाएँ

एक संख्या के साथ संक्रिया हर मान पर लगती है: s * 2, s + 5।

दो सीरीज़ में पांडास मान इंडेक्स लेबल से मिलाता है, स्थान से नहीं। जो लेबल सिर्फ़ एक में है, वहाँ जवाब NaN (Not a Number, यानी ख़ाली) आता है।

s1 = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
s2 = pd.Series([1, 2, 4],    index=['a', 'b', 'd'])
s1 + s2          # a 11.0, b 22.0, c NaN, d NaN
s1.add(s2, fill_value=0)   # a 11, b 22, c 30, d 4

मेथड: add(), sub(), mul(), div()। इनमें fill_value दे सकते हैं। NaN एक float है, इसलिए परिणाम float बन जाता है।

head() और tail()

s.head(n) पहले n मान देता है; s.tail(n) आख़िरी n। संख्या न दें तो दोनों 5 लेते हैं। लंबी सीरीज़ की झलक देखने में ये काम आते हैं।

s.head(2)   # Asha 92, Ravi 75
s.tail(3)   # Mohan 58, Zoya 81, Kabir 66

चयन, इंडेक्सिंग और स्लाइसिंग

इंडेक्सिंग (एक मान)

s['Zoya']      # लेबल से → 81
s.loc['Zoya']  # लेबल से (साफ़ तरीका)
s.iloc[3]      # स्थान से → 81
s[['Asha', 'Kabir']]   # लेबलों की सूची → छोटी सीरीज़

स्लाइसिंग (एक दायरा)

s[1:4]            # स्थान 1, 2, 3 (आख़िरी शामिल नहीं)
s['Ravi':'Zoya']  # लेबल Ravi से Zoya (आख़िरी शामिल)
s[::-1]           # उल्टा क्रम

शर्त से चयन (बूलियन इंडेक्सिंग)

s[s > 70]      # सिर्फ़ 70 से ऊपर वाले

मान बदल भी सकते हैं: s['Mohan'] = 60।

करके देखें: अपने अंकों की सीरीज़

पायथन (IDLE, Jupyter या कोई ऑनलाइन पायथन) खोलें। अपने 5 विषयों और अंकों की डिक्शनरी बनाकर सीरीज़ बनाइए। हर लाइन चलाने से पहले कागज़ पर अनुमान लिखें: s.head(2), s[s > 80], s[1:3], s + 5। फिर चलाकर मिलाइए। उसके बाद 3D के कदम 6 में भी यही आज़माएँ।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. पहले तीन महीनों के दिनों की सीरीज़ डिक्शनरी से बनाकर छापिए।

d = {'Jan': 31, 'Feb': 28, 'Mar': 31}; s = pd.Series(d); print(s) → Jan 31, Feb 28, Mar 31, dtype: int64। कुंजियाँ इंडेक्स बन गईं।

2. इंडेक्स 'w', 'x', 'y', 'z' के साथ चार बार 100 वाली सीरीज़ बनाइए।

s = pd.Series(100, index=['w', 'x', 'y', 'z'])। स्केलर 100 हर लेबल पर दोहराया गया।

3. s = pd.Series([92, 75, 58, 81, 66], index=['Asha','Ravi','Mohan','Zoya','Kabir'])। s[1:4] और s['Ravi':'Zoya'] क्या देंगे?

दोनों Ravi 75, Mohan 58, Zoya 81 देंगे। स्थान स्लाइस 1:4 में स्थान 1, 2, 3 आते हैं (4 नहीं)। लेबल स्लाइस में आख़िरी लेबल Zoya शामिल है।

4. इसी s में सिर्फ़ 70 से ऊपर वाले छात्र दिखाइए और गिनिए।

s[s > 70] → Asha 92, Ravi 75, Zoya 81। गिनती: s[s > 70].size → 3।

5. s1 = pd.Series([10, 20, 30], index=['a','b','c']); s2 = pd.Series([1, 2, 4], index=['a','b','d'])। s1 + s2 और s1.add(s2, fill_value=0) निकालिए।

s1 + s2 → a 11.0, b 22.0, c NaN, d NaN (c और d का जोड़ीदार नहीं)। fill_value=0 के साथ: a 11, b 22, c 30, d 4।

6. अंकों की सीरीज़ s में 70 से कम वालों को एक लाइन में 5 ग्रेस अंक दीजिए।

s[s < 70] = s[s < 70] + 5 → Mohan 58 → 63, Kabir 66 → 71; बाक़ी वैसे ही।

आम गलतियाँ

अभ्यास क्विज़

1. सीरीज़ का सबसे अच्छा वर्णन है:
2. डिक्शनरी से सीरीज़ बनाने पर कुंजियाँ बनती हैं:
3. बिना संख्या के s.head() कितने मान देता है?
4. कोई लेबल s1 में है पर s2 में नहीं, तो s1 + s2 उस लेबल पर देगा:
5. स्थान 3 का मान कौन देता है?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

कक्षा 12 पांडास में सीरीज़ क्या है?

सीरीज़ एक-आयामी लेबल वाला ऐरे है: मानों का एक स्तंभ, हर मान के साथ एक इंडेक्स लेबल।

सीरीज़ कितने तरीकों से बनती है?

सूची या NumPy ndarray से, डिक्शनरी से (कुंजियाँ इंडेक्स बनती हैं) और इंडेक्स के साथ स्केलर मान से।

head() और tail() क्या देते हैं?

head(n) पहले n मान और tail(n) आख़िरी n मान देता है; n न दें तो दोनों 5 लेते हैं।

यह कहाँ पढ़ाया जाता है

सीबीएसई (भारत)कक्षा 12पांडास द्वारा डेटा प्रबंधन और डेटा दृश्यीकरण

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी सूचना विज्ञान अभ्यास पाठ