Bird
Raised Fist0
Pandasdata~5 mins

Series as labeled one-dimensional array in Pandas

Choose your learning style10 modes available
Introduction

A Series is like a list with labels for each item. It helps you keep track of data with names, not just positions.

You want to store a list of numbers or words with names for each item.
You need to do math or analysis on data that has labels.
You want to select data by name instead of by position.
You want to combine data from different sources using labels.
You want to quickly summarize or describe data with labels.
Syntax
Pandas
import pandas as pd

# Create a Series with data and optional labels (index)
series = pd.Series(data, index=labels)

# data: list, array, or scalar values
# labels: list of labels for each data item (optional)

If you do not provide labels, pandas will use numbers starting from 0.

Labels can be strings, numbers, or other types, but they must be unique.

Examples
This creates a Series with values 10, 20, 30 and labels 0, 1, 2 automatically.
Pandas
import pandas as pd

# Example 1: Series with default numeric labels
series1 = pd.Series([10, 20, 30])
print(series1)
This creates a Series with values 5, 15, 25 and labels 'a', 'b', 'c'.
Pandas
import pandas as pd

# Example 2: Series with custom string labels
series2 = pd.Series([5, 15, 25], index=['a', 'b', 'c'])
print(series2)
This creates an empty Series with no data and no labels.
Pandas
import pandas as pd

# Example 3: Empty Series
series3 = pd.Series([], dtype=float)
print(series3)
This creates a Series with one value 100 and label 'only'.
Pandas
import pandas as pd

# Example 4: Series with one element and label
series4 = pd.Series([100], index=['only'])
print(series4)
Sample Program

This program creates a Series with fruit names as labels and quantities as data. It shows how to access, add, and remove items by label.

Pandas
import pandas as pd

# Create a Series with data and labels
fruits = ['apple', 'banana', 'cherry']
quantities = [10, 20, 15]

# Create Series with quantities and fruit names as labels
fruit_series = pd.Series(quantities, index=fruits)

print('Original Series:')
print(fruit_series)

# Access data by label
print('\nQuantity of bananas:')
print(fruit_series['banana'])

# Add a new fruit
fruit_series['orange'] = 12
print('\nSeries after adding orange:')
print(fruit_series)

# Remove a fruit
fruit_series = fruit_series.drop('apple')
print('\nSeries after removing apple:')
print(fruit_series)
OutputSuccess
Important Notes

Time complexity for accessing or adding items by label is usually O(1) because Series uses a hash map internally.

Space complexity depends on the number of items stored in the Series.

A common mistake is confusing position-based access (like lists) with label-based access. Use series.iloc[] for position and series.loc[] for labels.

Use Series when you want labeled data that behaves like a one-dimensional array. Use DataFrame for two-dimensional labeled data.

Summary

A Series is a one-dimensional labeled array in pandas.

It stores data with labels (index) to access items by name.

Series supports easy data selection, addition, and removal by labels.

Practice

(1/5)
1.

What is a pandas.Series best described as?

easy
A. A two-dimensional table with rows and columns
B. A one-dimensional labeled array that can hold any data type
C. A function to perform mathematical operations
D. A method to read data from a file

Solution

  1. Step 1: Understand the definition of Series

    A pandas Series is a one-dimensional array with labels called an index.
  2. Step 2: Compare options with definition

    A one-dimensional labeled array that can hold any data type matches the definition exactly, others describe different pandas objects or unrelated concepts.
  3. Final Answer:

    A one-dimensional labeled array that can hold any data type -> Option B
  4. Quick Check:

    Series = one-dimensional labeled array [OK]
Hint: Remember: Series = 1D labeled array in pandas [OK]
Common Mistakes:
  • Confusing Series with DataFrame (2D)
  • Thinking Series is a function or method
  • Mixing Series with file operations
2.

Which of the following is the correct way to create a pandas.Series with values [10, 20, 30] and index labels ['a', 'b', 'c']?

import pandas as pd
# Choose the correct code
easy
A. pd.Series(data=[10, 20, 30], labels=['a', 'b', 'c'])
B. pd.Series(index=[10, 20, 30], data=['a', 'b', 'c'])
C. pd.Series([10, 20, 30], index=['a', 'b', 'c'])
D. pd.Series([10, 20, 30], labels=['a', 'b', 'c'])

Solution

  1. Step 1: Recall Series constructor parameters

    The Series constructor uses data as first argument and index for labels.
  2. Step 2: Match options with correct parameter names

    pd.Series([10, 20, 30], index=['a', 'b', 'c']) uses correct syntax: data list and index list. Others use wrong parameter names or order.
  3. Final Answer:

    pd.Series([10, 20, 30], index=['a', 'b', 'c']) -> Option C
  4. Quick Check:

    Use 'index' for labels in Series constructor [OK]
Hint: Use 'index' keyword for labels when creating Series [OK]
Common Mistakes:
  • Using 'labels' instead of 'index'
  • Swapping data and index arguments
  • Passing index as 'data' parameter
3.

What will be the output of the following code?

import pandas as pd
s = pd.Series([5, 10, 15], index=['x', 'y', 'z'])
print(s['y'])
medium
A. KeyError
B. y
C. 15
D. 10

Solution

  1. Step 1: Understand Series indexing by label

    Series allows access by index label. Here, 'y' corresponds to value 10.
  2. Step 2: Check the printed value

    Accessing s['y'] returns 10, so print outputs 10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    Access by label 'y' returns 10 [OK]
Hint: Access Series values by index label like dictionary keys [OK]
Common Mistakes:
  • Confusing label with value
  • Expecting index position access with label
  • Mistaking output for error
4.

Identify the error in the following code snippet:

import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
print(s['d'])
medium
A. KeyError because 'd' is not in index
B. SyntaxError due to wrong index syntax
C. No error, prints 0
D. TypeError because index labels must be integers

Solution

  1. Step 1: Check index labels in Series

    The Series has index labels 'a', 'b', 'c'. 'd' is not present.
  2. Step 2: Understand what happens when accessing missing label

    Accessing s['d'] raises KeyError because label 'd' does not exist.
  3. Final Answer:

    KeyError because 'd' is not in index -> Option A
  4. Quick Check:

    Accessing missing label causes KeyError [OK]
Hint: Accessing missing label in Series raises KeyError [OK]
Common Mistakes:
  • Expecting default 0 or None for missing label
  • Confusing KeyError with SyntaxError
  • Thinking index labels must be integers
5.

Given a pandas.Series s = pd.Series([100, 200, 300], index=['a', 'b', 'c']), how can you add a new element with label 'd' and value 400?

hard
A. s['d'] = 400
B. s.append({'d': 400})
C. s.add('d', 400)
D. s.insert('d', 400)

Solution

  1. Step 1: Recall how to add elements to Series

    You can add a new label and value by assignment using s[label] = value.
  2. Step 2: Check options for correct syntax

    s['d'] = 400 uses s['d'] = 400 which adds new element. Others are invalid or incorrect methods.
  3. Final Answer:

    s['d'] = 400 -> Option A
  4. Quick Check:

    Assign new label with s['label'] = value [OK]
Hint: Add new item by assigning s['new_label'] = value [OK]
Common Mistakes:
  • Using non-existent methods like add or insert
  • Trying to append with dict without reassignment
  • Confusing Series with DataFrame methods
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard