Printing is unavailable

This course is licensed for personal online viewing only.

Public preview • CL-P000000-C33-L1293-188F473A

Home Dashboard
Chapter 2 · Module 1 — Pandas Fundamentals

Creating and Understanding Pandas Series

Priority
  • JobHigh
  • InterviewMedium
  • DevelopmentHigh
3,258
words
19
min read
3
tools

1. Learning Outcomes#

या chapter नंतर तुम्हाला:

  • pd.Series() वापरून Pandas Series तयार करता येईल.
  • Python List, Dictionary आणि Scalar value पासून Series कशी तयार होते ते समजेल.
  • Series मधील values आणि index labels यांचा संबंध समजेल.
  • default integer index आणि custom index यातील फरक ओळखता येईल.
  • name आणि dtype attributes चा अर्थ समजेल.
  • 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 असे ठेवू शकतो:

PYTHON
marks = [85, 91, 78]

ही list values ठेवते, पण प्रत्येक value ला अर्थपूर्ण label नाही. पहिली value 85 आहे, पण ती कोणत्या subject ची आहे हे list स्वतः सांगत नाही.

Pandas Series मध्ये प्रत्येक value सोबत एक index label असतो. त्यामुळे data फक्त क्रमाने ठेवला जात नाही; प्रत्येक value ला ओळखही मिळते.

Figure 1: A Pandas Series combines values with index labels
A Pandas Series combines values with index labelsIndex labelmathscienceenglishValue859178togetherformtogether formPandas Series1D labeled dataPandas Series 1D labeled data

चित्रात science हा label आणि 91 ही value एकमेकांशी जोडलेली आहेत. हीच Series ची मुख्य कल्पना आहे.

Key Idea

Series म्हणजे एक-dimensional data structure आहे ज्यात प्रत्येक value ला index label असतो.

3. पहिली Series तयार करणे#

Pandas वापरताना सामान्यतः library ला pd हा alias दिला जातो.

PYTHON
import pandas as pd

Series तयार करण्यासाठी pd.Series() constructor वापरतो.

PYTHON
import pandas as pd

s = pd.Series([85, 91, 78])
print(s)

Expected Output#

TEXT
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 तयार करण्यासाठी सर्वात सोपी सुरुवात आहे.

PYTHON
import pandas as pd

temperatures = [30, 32, 31]
s = pd.Series(temperatures)

print(s)

List मधील values जशा आहेत तशा Series मध्ये येतात. स्वतंत्र index दिलेला नसल्यामुळे labels 0, 1, 2 तयार होतात.

Figure 2: Default index versus custom index
Default index versus custom indexDefault integer indexDefault integer indexIndex012Value303231Custom indexCustom indexIndexMonTueWedValue303231

डाव्या बाजूला Pandas ने index तयार केला आहे. उजव्या बाजूला आपण अर्थपूर्ण labels दिले आहेत.

Remember

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 तयार करतो.

PYTHON
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 अधिक उपयोगी ठरतात.

PYTHON
import pandas as pd

sales = pd.Series(
    [12000, 15000, 13500],
    index=["Jan", "Feb", "Mar"]
)

print(sales)

Expected Output#

TEXT
Jan    12000
Feb    15000
Mar    13500
dtype: int64

आता Jan, Feb, Mar हे index labels आहेत.

Custom index देताना values आणि labels ची संख्या जुळली पाहिजे.

Common Mistake

खालील example intentionally incorrect आहे. तीन values साठी फक्त दोन custom labels दिले आहेत.

PYTHON
import pandas as pd

sales = pd.Series(
    [12000, 15000, 13500],
    index=["Jan", "Feb"]
)

हा code valid Series तयार करू शकत नाही, कारण data आणि index ची length जुळत नाही.

Common Mistake

Custom index ची length आणि data ची length वेगळी ठेवू नका.

7. Dictionary पासून Series#

Python Dictionary मध्ये आधीच key: value pairs असतात. त्यामुळे Series तयार करताना dictionary keys नैसर्गिकपणे index labels बनतात.

PYTHON
import pandas as pd

marks = {
    "Math": 85,
    "Science": 91,
    "English": 78
}

s = pd.Series(marks)
print(s)

Expected Output#

TEXT
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 आधीच उपलब्ध असतात.

Visual Diagram80%

Rendering diagram…

वेगवेगळ्या Python inputs पासून Series तयार होऊ शकते, पण तयार झालेल्या Series ची मूलभूत कल्पना तीच राहते: labels + values.

8. Scalar Value पासून Series#

scalar म्हणजे एक single value. उदाहरणार्थ 100, 3.14, "Active" या scalar values आहेत.

एक scalar थेट Series मध्ये देता येतो.

PYTHON
import pandas as pd

s = pd.Series(100)
print(s)

Expected Output#

TEXT
0    100
dtype: int64

एकच value असल्यामुळे एकच default index label मिळतो.

Scalar सोबत multiple index labels दिले तर Pandas तीच scalar value प्रत्येक label साठी वापरतो.

PYTHON
import pandas as pd

s = pd.Series(
    100,
    index=["A", "B", "C"]
)

print(s)

Expected Output#

TEXT
A    100
B    100
C    100
dtype: int64

इथे 100 ही value तीन labels साठी repeat झाली आहे.

Key Idea

Scalar + custom index वापरल्यास scalar value प्रत्येक supplied index label साठी वापरली जाते.

9. Series Values आणि Index Labels#

Series समजताना दोन भाग कायम लक्षात ठेवा:

  1. values — actual data
  2. index labels — त्या values ची ओळख

उदाहरण:

PYTHON
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 कडे निर्देश करतो.

Remember

Series ला Python List सारखी फक्त values ची sequence समजू नका. Series मध्ये labels हेही structure चा महत्त्वाचा भाग आहेत.

11. Custom Index आणि Series Name हे वेगळे आहेत#

index प्रत्येक individual value ला label देतो.

name संपूर्ण Series ला नाव देतो.

PYTHON
import pandas as pd

sales = pd.Series(
    [12000, 15000, 13500],
    index=["Jan", "Feb", "Mar"],
    name="monthly_sales"
)

print(sales.name)

Expected Output#

TEXT
monthly_sales

इथे:

  • Jan, Feb, Mar — individual values चे index labels
  • monthly_sales — पूर्ण Series चे name
Common Mistake

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 करते.

PYTHON
import pandas as pd

s = pd.Series([10, 20, 30])

print(s.dtype)

Expected Output#

TEXT
int64

इथे values integer असल्यामुळे Series चा dtype integer प्रकारचा आहे.

Series तयार करतानाच dtype देणे#

आपल्याला specific type हवा असेल तर dtype argument वापरू शकतो.

PYTHON
import pandas as pd

s = pd.Series(
    [10, 20, 30],
    dtype="float64"
)

print(s)

Expected Output#

TEXT
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 ची संख्या सांगते.

PYTHON
import pandas as pd

s = pd.Series([10, 20, 30, 40])

print(s.size)

Expected Output#

TEXT
4

चार values आहेत, म्हणून size ही 4 आहे.

size हा attribute आहे. त्यामुळे s.size, s.size() नाही.

14. shape म्हणजे Series चा आकार#

shape structure चा आकार tuple मध्ये सांगते.

PYTHON
import pandas as pd

s = pd.Series([10, 20, 30, 40])

print(s.shape)

Expected Output#

TEXT
(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 काय आहे
PYTHON
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 बद्दल वेगवेगळी माहिती देतात.

Figure 3: Basic information you can inspect from one Series
Basic information you can inspect from one SeriesSeriesmonthly_salesSeries monthly_salesindexJan, Feb, Marindex Jan, Feb, Mardtypefloat64dtype float64size3size 3shape(3,)shape (3,)

यामुळे एक Series पाहताना structure वेगवेगळ्या angles ने तपासता येते.

16. Series ला Python List मध्ये Convert करणे#

Series मधील values साध्या Python List मध्ये हव्या असतील तर to_list() वापरतो.

PYTHON
import pandas as pd

s = pd.Series(
    [10, 20, 30],
    index=["A", "B", "C"]
)

values_list = s.to_list()
print(values_list)

Expected Output#

TEXT
[10, 20, 30]

लक्षात घ्या: returned list मध्ये A, B, C हे index labels नाहीत. to_list() इथे Series च्या values list मध्ये देते.

Remember

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() वापरतो.

PYTHON
import pandas as pd

s = pd.Series([10, 20, 30])

arr = s.to_numpy()
print(arr)

Expected Output#

TEXT
[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 म्हणून राहत नाहीत.

Visual Diagram80%

Rendering diagram…

दोन्ही conversion methods values बाहेर काढतात, पण target container वेगळा असतो.

18. एक Combined Example#

आता एकाच example मध्ये creation, labels, name, dtype, size, shape आणि conversion पाहू.

PYTHON
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 मध्ये:

  1. List मधून values घेतल्या.
  2. Custom index ने प्रत्येक value ला student label दिला.
  3. name ने पूर्ण Series ला exam_scores हे नाव दिले.
  4. dtype="float64" ने values चा type निश्चित केला.
  5. size ने element count दिला.
  6. shape ने one-dimensional आकार दाखवला.
  7. to_list() ने values Python List मध्ये दिल्या.
  8. to_numpy() ने values NumPy array मध्ये दिल्या.
Key Idea

Series तयार करणे म्हणजे फक्त values store करणे नाही. Values सोबत labels आणि basic metadata समजणे ही Pandas मध्ये पुढील analysis ची foundation आहे.

19. Common Mistakes#

1. Custom index ची length mismatch करणे#

तीन values असतील तर तीन labels लागतात.

2. name ला function समजणे#

योग्य:

PYTHON
print(s.name)

चुकीचे:

PYTHON
print(s.name())

3. dtype, size, shape ला methods समजणे#

हे attributes आहेत:

PYTHON
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
PYTHON
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
PYTHON
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 होते.
  • index individual values ला labels देते.
  • name संपूर्ण Series ला नाव देते.
  • dtype values चा data type सांगते.
  • size total elements सांगते.
  • shape one-dimensional आकार tuple मध्ये सांगते.
  • to_list() Series values Python List मध्ये देते.
  • to_numpy() Series values NumPy array मध्ये देते.
  • Pandas Series समजताना labels आणि values हा core mental model लक्षात ठेवणे सर्वात महत्त्वाचे आहे.
Interactive learning

Practice lab

Apply this chapter with guided activities, immediate feedback, explanations, and retry.

Practice loads when this section enters view.