1. Learning Outcomes#
या chapter नंतर तुम्हाला:
pd.Series()वापरून Pandas Series तयार करता येईल.- Python List, Dictionary आणि Scalar value पासून Series कशी तयार होते ते समजेल.
- Series मधील values आणि index labels यांचा संबंध समजेल.
- default integer index आणि custom index यातील फरक ओळखता येईल.
nameआणिdtypeattributes चा अर्थ समजेल.sizeआणिshapeवापरून Series ची basic structure तपासता येईल.to_list()आणिto_numpy()वापरून Series values इतर containers मध्ये convert करता येतील.- Series ही one-dimensional labeled data structure का म्हणतात ते स्पष्ट करता येईल.
- beginner-level common mistakes ओळखून टाळता येतील.
2. Series चा Core Idea#
Python List मध्ये values असतात. उदाहरणार्थ, विद्यार्थ्यांचे marks असे ठेवू शकतो:
marks = [85, 91, 78]ही list values ठेवते, पण प्रत्येक value ला अर्थपूर्ण label नाही. पहिली value 85 आहे, पण ती कोणत्या subject ची आहे हे list स्वतः सांगत नाही.
Pandas Series मध्ये प्रत्येक value सोबत एक index label असतो. त्यामुळे data फक्त क्रमाने ठेवला जात नाही; प्रत्येक value ला ओळखही मिळते.
चित्रात science हा label आणि 91 ही value एकमेकांशी जोडलेली आहेत. हीच Series ची मुख्य कल्पना आहे.
Series म्हणजे एक-dimensional data structure आहे ज्यात प्रत्येक value ला index label असतो.
3. पहिली Series तयार करणे#
Pandas वापरताना सामान्यतः library ला pd हा alias दिला जातो.
import pandas as pdSeries तयार करण्यासाठी pd.Series() constructor वापरतो.
import pandas as pd
s = pd.Series([85, 91, 78])
print(s)Expected Output#
0 85
1 91
2 78
dtype: int64इथे डावीकडे 0, 1, 2 हे index labels आहेत. उजवीकडे 85, 91, 78 या actual values आहेत.
आपण index दिलेला नाही. म्हणून Pandas ने स्वतः default integer index तयार केला.
4. Python List पासून Series#
Python List ही Series तयार करण्यासाठी सर्वात सोपी सुरुवात आहे.
import pandas as pd
temperatures = [30, 32, 31]
s = pd.Series(temperatures)
print(s)List मधील values जशा आहेत तशा Series मध्ये येतात. स्वतंत्र index दिलेला नसल्यामुळे labels 0, 1, 2 तयार होतात.
डाव्या बाजूला Pandas ने index तयार केला आहे. उजव्या बाजूला आपण अर्थपूर्ण labels दिले आहेत.
List values देते. Index दिला नाही तर Pandas default integer labels तयार करतो.
5. Default Integer Index#
pd.Series([10, 20, 30]) अशी Series तयार केली तर labels 0, 1, 2 असतात.
तीन values असल्यामुळे default index zero पासून सुरू होऊन तीन labels तयार करतो.
import pandas as pd
s = pd.Series([10, 20, 30])
print(s.index)Default index हा Pandas चा index object असतो. Beginner म्हणून आत्ता महत्त्वाची गोष्ट एवढीच: प्रत्येक position ला 0, 1, 2 अशी labels मिळतात.
Index label आणि Python list position सारखे दिसू शकतात, पण Series मध्ये index हा data च्या labeling system चा भाग आहे.
6. Custom Index तयार करणे#
Default labels नेहमी अर्थपूर्ण नसतात. Sales data असेल तर 0, 1, 2 पेक्षा month names अधिक उपयोगी ठरतात.
import pandas as pd
sales = pd.Series(
[12000, 15000, 13500],
index=["Jan", "Feb", "Mar"]
)
print(sales)Expected Output#
Jan 12000
Feb 15000
Mar 13500
dtype: int64आता Jan, Feb, Mar हे index labels आहेत.
Custom index देताना values आणि labels ची संख्या जुळली पाहिजे.
खालील example intentionally incorrect आहे. तीन values साठी फक्त दोन custom labels दिले आहेत.
import pandas as pd
sales = pd.Series(
[12000, 15000, 13500],
index=["Jan", "Feb"]
)हा code valid Series तयार करू शकत नाही, कारण data आणि index ची length जुळत नाही.
Custom index ची length आणि data ची length वेगळी ठेवू नका.
7. Dictionary पासून Series#
Python Dictionary मध्ये आधीच key: value pairs असतात. त्यामुळे Series तयार करताना dictionary keys नैसर्गिकपणे index labels बनतात.
import pandas as pd
marks = {
"Math": 85,
"Science": 91,
"English": 78
}
s = pd.Series(marks)
print(s)Expected Output#
Math 85
Science 91
English 78
dtype: int64इथे:
| Dictionary part | Series मध्ये भूमिका |
|---|---|
"Math" |
index label |
85 |
value |
"Science" |
index label |
91 |
value |
"English" |
index label |
78 |
value |
List वापरताना labels वेगळे द्यावे लागतात. Dictionary वापरताना keys मुळे labels आधीच उपलब्ध असतात.
Rendering diagram…
Diagram could not be rendered.
वेगवेगळ्या Python inputs पासून Series तयार होऊ शकते, पण तयार झालेल्या Series ची मूलभूत कल्पना तीच राहते: labels + values.
8. Scalar Value पासून Series#
scalar म्हणजे एक single value. उदाहरणार्थ 100, 3.14, "Active" या scalar values आहेत.
एक scalar थेट Series मध्ये देता येतो.
import pandas as pd
s = pd.Series(100)
print(s)Expected Output#
0 100
dtype: int64एकच value असल्यामुळे एकच default index label मिळतो.
Scalar सोबत multiple index labels दिले तर Pandas तीच scalar value प्रत्येक label साठी वापरतो.
import pandas as pd
s = pd.Series(
100,
index=["A", "B", "C"]
)
print(s)Expected Output#
A 100
B 100
C 100
dtype: int64इथे 100 ही value तीन labels साठी repeat झाली आहे.
Scalar + custom index वापरल्यास scalar value प्रत्येक supplied index label साठी वापरली जाते.
9. Series Values आणि Index Labels#
Series समजताना दोन भाग कायम लक्षात ठेवा:
- values — actual data
- index labels — त्या values ची ओळख
उदाहरण:
import pandas as pd
prices = pd.Series(
[50, 80, 120],
index=["Pen", "Notebook", "Bag"]
)या Series चा मानसिक model असा आहे:
| Index label | Value |
|---|---|
| Pen | 50 |
| Notebook | 80 |
| Bag | 120 |
Notebook हा फक्त दुसरा item नाही. तो 80 या value चा label आहे.
ही labeling क्षमता Pandas मध्ये data analysis करताना फार महत्त्वाची ठरते.
10. Series ही One-Dimensional Labeled Data Structure#
one-dimensional याचा अर्थ Series मध्ये एका dimension वर values ची sequence असते.
ती table सारखी rows आणि columns असलेली two-dimensional structure नाही. ती एका labeled sequence सारखी समजा.
उदाहरणार्थ:
Pen → 50, Notebook → 80, Bag → 120
या sequence मध्ये प्रत्येक label एका value कडे निर्देश करतो.
Series ला Python List सारखी फक्त values ची sequence समजू नका. Series मध्ये labels हेही structure चा महत्त्वाचा भाग आहेत.
11. Custom Index आणि Series Name हे वेगळे आहेत#
index प्रत्येक individual value ला label देतो.
name संपूर्ण Series ला नाव देतो.
import pandas as pd
sales = pd.Series(
[12000, 15000, 13500],
index=["Jan", "Feb", "Mar"],
name="monthly_sales"
)
print(sales.name)Expected Output#
monthly_salesइथे:
Jan,Feb,Mar— individual values चे index labelsmonthly_sales— पूर्ण Series चे name
name आणि index एकच गोष्ट नाहीत. index प्रत्येक entry ओळखतो; name संपूर्ण Series ला ओळख देतो.
name हा attribute आहे. म्हणून sales.name लिहितो. sales.name() असे function call करत नाही.
12. dtype म्हणजे Values चा Data Type#
Series मधील values कोणत्या data type मध्ये store आहेत हे dtype सांगते.
Pandas अनेक वेळा data पाहून dtype automatically infer करते.
import pandas as pd
s = pd.Series([10, 20, 30])
print(s.dtype)Expected Output#
int64इथे values integer असल्यामुळे Series चा dtype integer प्रकारचा आहे.
Series तयार करतानाच dtype देणे#
आपल्याला specific type हवा असेल तर dtype argument वापरू शकतो.
import pandas as pd
s = pd.Series(
[10, 20, 30],
dtype="float64"
)
print(s)Expected Output#
0 10.0
1 20.0
2 30.0
dtype: float64आपण integers दिले होते, पण dtype="float64" सांगितल्यामुळे values floating-point स्वरूपात तयार झाल्या.
dtype फक्त label नाही. तो Series values कशा represent केल्या आहेत याबद्दल माहिती देतो.
Conversion शक्य नसलेला dtype force केला तर error येऊ शकतो. म्हणून dtype निवड data शी compatible असावा.
13. size म्हणजे किती Elements आहेत#
size Series मधील total elements ची संख्या सांगते.
import pandas as pd
s = pd.Series([10, 20, 30, 40])
print(s.size)Expected Output#
4चार values आहेत, म्हणून size ही 4 आहे.
size हा attribute आहे. त्यामुळे s.size, s.size() नाही.
14. shape म्हणजे Series चा आकार#
shape structure चा आकार tuple मध्ये सांगते.
import pandas as pd
s = pd.Series([10, 20, 30, 40])
print(s.shape)Expected Output#
(4,)(4,) मधील 4 म्हणजे चार elements.
Comma पाहून गोंधळू नका. Python मध्ये (4,) हा one-item tuple आहे.
Series one-dimensional असल्यामुळे shape मध्ये एकच dimension दिसते.
size आणि shape मधील फरक#
| Property | काय सांगते | चार values साठी |
|---|---|---|
size |
total elements | 4 |
shape |
dimension-wise size | (4,) |
size एक number देते. shape tuple देते.
15. Basic Series Structure Inspect करणे#
एखादी Series मिळाल्यावर सुरुवातीला काही basic गोष्टी तपासणे उपयोगी असते:
- data काय आहे
- index labels काय आहेत
- Series चे name काय आहे
- dtype काय आहे
- किती elements आहेत
- shape काय आहे
import pandas as pd
sales = pd.Series(
[12000, 15000, 13500],
index=["Jan", "Feb", "Mar"],
name="monthly_sales",
dtype="float64"
)
print(sales)
print(sales.index)
print(sales.name)
print(sales.dtype)
print(sales.size)
print(sales.shape)यात वेगवेगळ्या properties एकाच Series बद्दल वेगवेगळी माहिती देतात.
यामुळे एक Series पाहताना structure वेगवेगळ्या angles ने तपासता येते.
16. Series ला Python List मध्ये Convert करणे#
Series मधील values साध्या Python List मध्ये हव्या असतील तर to_list() वापरतो.
import pandas as pd
s = pd.Series(
[10, 20, 30],
index=["A", "B", "C"]
)
values_list = s.to_list()
print(values_list)Expected Output#
[10, 20, 30]लक्षात घ्या: returned list मध्ये A, B, C हे index labels नाहीत. to_list() इथे Series च्या values list मध्ये देते.
to_list() वापरल्यानंतर result हा Python List असतो; Series चे index labels त्या list चा भाग राहत नाहीत.
17. Series ला NumPy Array मध्ये Convert करणे#
Data Science workflow मध्ये Pandas आणि NumPy एकत्र दिसतात. Series values NumPy array म्हणून घ्यायच्या असतील तर to_numpy() वापरतो.
import pandas as pd
s = pd.Series([10, 20, 30])
arr = s.to_numpy()
print(arr)Expected Output#
[10 20 30]इथे arr मध्ये Series values NumPy array स्वरूपात मिळतात.
या chapter मध्ये NumPy array चे internals पुन्हा शिकायचे नाहीत. इथे फक्त integration point लक्षात ठेवा: Pandas Series → to_numpy() → NumPy array.
Custom index असला तरी returned NumPy array मध्ये Series चे labels स्वतंत्र labels म्हणून राहत नाहीत.
Rendering diagram…
Diagram could not be rendered.
दोन्ही conversion methods values बाहेर काढतात, पण target container वेगळा असतो.
18. एक Combined Example#
आता एकाच example मध्ये creation, labels, name, dtype, size, shape आणि conversion पाहू.
import pandas as pd
scores = pd.Series(
[88, 92, 79],
index=["Asha", "Ravi", "Neha"],
name="exam_scores",
dtype="float64"
)
print(scores)
print(scores.name)
print(scores.dtype)
print(scores.size)
print(scores.shape)
print(scores.to_list())
print(scores.to_numpy())या code मध्ये:
- List मधून values घेतल्या.
- Custom index ने प्रत्येक value ला student label दिला.
nameने पूर्ण Series लाexam_scoresहे नाव दिले.dtype="float64"ने values चा type निश्चित केला.sizeने element count दिला.shapeने one-dimensional आकार दाखवला.to_list()ने values Python List मध्ये दिल्या.to_numpy()ने values NumPy array मध्ये दिल्या.
Series तयार करणे म्हणजे फक्त values store करणे नाही. Values सोबत labels आणि basic metadata समजणे ही Pandas मध्ये पुढील analysis ची foundation आहे.
19. Common Mistakes#
1. Custom index ची length mismatch करणे#
तीन values असतील तर तीन labels लागतात.
2. name ला function समजणे#
योग्य:
print(s.name)चुकीचे:
print(s.name())3. dtype, size, shape ला methods समजणे#
हे attributes आहेत:
print(s.dtype)
print(s.size)
print(s.shape)4. size आणि shape एकच समजणे#
size number देते. shape tuple देते.
5. to_list() किंवा to_numpy() index labels ठेवतील असे गृहित धरणे#
हे methods मुख्यतः Series values दुसऱ्या container मध्ये देतात. Index labels त्या returned list किंवा array मध्ये labeled index म्हणून राहत नाहीत.
6. Series ला फक्त Python List समजणे#
Series मध्ये index labels असतात. ही labelingच तिच्या उपयोगाचा महत्त्वाचा भाग आहे.
20. Hands-On Practice#
Practice 1#
Requirement
Pen, Notebook, Bag या products साठी अनुक्रमे 20, 60, 500 prices असलेली Series तयार करा. Custom index वापरा. Series चे name product_prices ठेवा आणि dtype float64 ठेवा.
Your Task
Series print करा आणि नंतर तिचे name, dtype, size, shape आणि to_list() result inspect करा.
HintShow Hint
pd.Series(data, index=..., name=..., dtype=...) हा pattern वापरा.
SolutionShow Solution
import pandas as pd
prices = pd.Series(
[20, 60, 500],
index=["Pen", "Notebook", "Bag"],
name="product_prices",
dtype="float64"
)
print(prices)
print(prices.name)
print(prices.dtype)
print(prices.size)
print(prices.shape)
print(prices.to_list())Explanation
तीन values असल्यामुळे size ही 3 आणि shape ही (3,) असेल. to_list() values [20.0, 60.0, 500.0] म्हणून देईल. Pen, Notebook, Bag हे custom index labels आहेत.
Practice 2#
Requirement
Dictionary वापरून Math, Science, English marks ची Series तयार करा. नंतर तीच कल्पना scalar value वापरून तीन status labels साठी तयार करा.
Your Task
पहिल्या Series मध्ये dictionary keys index labels कशा बनतात ते observe करा. दुसऱ्या Series मध्ये एक scalar प्रत्येक supplied label साठी कसा repeat होतो ते observe करा.
HintShow Hint
पहिल्या Series साठी dictionary थेट pd.Series() ला द्या. दुसऱ्यासाठी pd.Series("Pending", index=[...]) असा pattern वापरा.
SolutionShow Solution
import pandas as pd
marks = pd.Series({
"Math": 85,
"Science": 91,
"English": 78
})
status = pd.Series(
"Pending",
index=["Task-1", "Task-2", "Task-3"]
)
print(marks)
print(status)Explanation
marks मध्ये dictionary keys labels बनतात. status मध्ये "Pending" ही एक scalar value तीनही custom labels साठी वापरली जाते.
21. Interview Preparation#
What is a Pandas Series?Show Answer
A Pandas Series is a one-dimensional labeled data structure that stores values together with an index.
What is the difference between size and shape in a Series?Show Answer
size returns the total number of elements, while shape returns a tuple representing the dimensional size. For a Series with three elements, size is 3 and shape is (3,).
What happens when a Series is created from a Python dictionary?Show Answer
The dictionary keys become the Series index labels and the dictionary values become the Series values.
22. Chapter Recap#
pd.Series()वापरून one-dimensional labeled data तयार करता येतो.- List पासून Series तयार केल्यावर index दिला नसेल तर default integer index मिळतो.
- Dictionary keys Series चे index labels बनतात.
- Scalar value custom index सोबत दिल्यास ती value प्रत्येक label साठी repeat होते.
indexindividual values ला labels देते.nameसंपूर्ण Series ला नाव देते.dtypevalues चा data type सांगते.sizetotal elements सांगते.shapeone-dimensional आकार tuple मध्ये सांगते.to_list()Series values Python List मध्ये देते.to_numpy()Series values NumPy array मध्ये देते.- Pandas Series समजताना labels आणि values हा core mental model लक्षात ठेवणे सर्वात महत्त्वाचे आहे.