Bird
Raised Fist0
Pandasdata~20 mins

Series as labeled one-dimensional array in Pandas - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Series Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:30remaining
Output of Series with custom index
What is the output of this code snippet?
Pandas
import pandas as pd
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s['b'])
A20
B10
C30
DKeyError
Attempts:
2 left
💡 Hint
Remember that the index labels are used to access values in a Series.
❓ data_output
intermediate
1:30remaining
Length of Series after filtering
What is the length of the Series after filtering values greater than 15?
Pandas
import pandas as pd
s = pd.Series([5, 15, 25, 35], index=['w', 'x', 'y', 'z'])
filtered = s[s > 15]
print(len(filtered))
A2
B1
C4
D3
Attempts:
2 left
💡 Hint
Count how many values are strictly greater than 15.
🔧 Debug
advanced
2:00remaining
Identify the error in Series creation
What error does this code raise?
Pandas
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b'])
ANo error, runs successfully
BValueError: Length of passed values is not equal to length of index
CKeyError: 'a'
DTypeError: unsupported operand type(s)
Attempts:
2 left
💡 Hint
Check if the length of the data matches the length of the index.
🚀 Application
advanced
2:00remaining
Sum values of Series with specific labels
Given this Series, what is the sum of values for labels 'b' and 'd'?
Pandas
import pandas as pd
s = pd.Series([100, 200, 300, 400], index=['a', 'b', 'c', 'd'])
result = s[['b', 'd']].sum()
print(result)
A700
B500
C600
DKeyError
Attempts:
2 left
💡 Hint
Add the values corresponding to labels 'b' and 'd'.
🧠 Conceptual
expert
2:30remaining
Effect of duplicate labels in Series
What happens when you create a Series with duplicate index labels and then select by that label?
Pandas
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'b', 'c'])
result = s['b']
print(result)
ARaises a KeyError because of duplicate labels
BReturns the first value for label 'b': 2
CReturns the last value for label 'b': 3
DReturns a Series with all values for label 'b': [2, 3]
Attempts:
2 left
💡 Hint
Think about how pandas handles duplicate index labels when selecting.

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