Bird
Raised Fist0
Data Analysis Pythondata~10 mins

Series creation from lists and dicts in Data Analysis Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a pandas Series from a list.

Data Analysis Python
import pandas as pd

numbers = [10, 20, 30, 40]
series = pd.Series([1])
print(series)
Drag options to blanks, or click blank then click option'
A[10, 20, 30, 40]
Bpd.Series
Cnumbers
D'numbers'
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the list name as a string (with quotes).
Trying to pass the pd.Series function itself.
2fill in blank
medium

Complete the code to create a pandas Series from a dictionary.

Data Analysis Python
import pandas as pd

scores = {'Alice': 85, 'Bob': 90, 'Cara': 78}
series = pd.Series([1])
print(series)
Drag options to blanks, or click blank then click option'
Ascores
B'scores'
C['Alice', 'Bob', 'Cara']
D[85, 90, 78]
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the dictionary keys or values as a list instead of the dictionary itself.
Using quotes around the dictionary variable name.
3fill in blank
hard

Fix the error in the code to create a Series from a list with custom index labels.

Data Analysis Python
import pandas as pd

values = [100, 200, 300]
labels = ['a', 'b', 'c']
series = pd.Series(values, index=[1])
print(series)
Drag options to blanks, or click blank then click option'
Alabels
Bvalues
C'labels'
D[1, 2, 3]
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the data list as index.
Passing the variable name as a string.
4fill in blank
hard

Fill both blanks to create a Series from a dictionary and set a custom name for the Series.

Data Analysis Python
import pandas as pd

data = {'x': 1, 'y': 2, 'z': 3}
series = pd.Series([1], name=[2])
print(series)
Drag options to blanks, or click blank then click option'
Adata
B'MySeries'
C'data'
D['MySeries']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the dictionary name as a string.
Passing the name as a list instead of a string.
5fill in blank
hard

Fill all three blanks to create a Series from a list, set custom index labels, and assign a name.

Data Analysis Python
import pandas as pd

values = [5, 10, 15]
labels = ['p', 'q', 'r']
series = pd.Series([1], index=[2], name=[3])
print(series)
Drag options to blanks, or click blank then click option'
Avalues
Blabels
C'Numbers'
D'values'
Attempts:
3 left
💡 Hint
Common Mistakes
Passing variable names as strings.
Mixing up values and labels.
Not using quotes for the name.

Practice

(1/5)
1. What does a pandas Series store besides the data itself?
easy
A. Multiple columns like a DataFrame
B. Labels (index) for each data element
C. Only numeric values
D. No labels, just raw data

Solution

  1. Step 1: Understand what a Series is

    A Series is like a list but with labels for each element.
  2. Step 2: Identify what is stored besides data

    Besides the data values, a Series stores labels called an index.
  3. Final Answer:

    Labels (index) for each data element -> Option B
  4. Quick Check:

    Series stores data + labels [OK]
Hint: Remember: Series = data + labels (index) [OK]
Common Mistakes:
  • Thinking Series stores multiple columns like DataFrame
  • Assuming Series only stores numeric data
  • Believing Series has no labels
2. Which of the following is the correct way to create a pandas Series from a list [10, 20, 30] with labels ['a', 'b', 'c']?
easy
A. pd.Series([10, 20, 30], labels=['a', 'b', 'c'])
B. pd.Series(index=[10, 20, 30], data=['a', 'b', 'c'])
C. pd.Series({'a':10, 'b':20, 'c':30})
D. pd.Series([10, 20, 30], index=['a', 'b', 'c'])

Solution

  1. Step 1: Recall Series creation syntax from list

    Use pd.Series(data_list, index=labels_list) to assign labels.
  2. Step 2: Check each option

    pd.Series([10, 20, 30], index=['a', 'b', 'c']) uses correct syntax: data first, then index labels. Others misuse parameters or use wrong keywords.
  3. Final Answer:

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

    Correct syntax uses index= for labels [OK]
Hint: Use index= to assign labels when creating Series from list [OK]
Common Mistakes:
  • Using labels= instead of index=
  • Swapping data and index parameters
  • Passing dict instead of list for this question
3. What will be the output of this code?
import pandas as pd
s = pd.Series({'x': 5, 'y': 10, 'z': 15})
print(s['y'])
medium
A. 10
B. 'y'
C. KeyError
D. 5

Solution

  1. Step 1: Understand Series creation from dict

    Keys become labels, values become data. So 'y' label has value 10.
  2. Step 2: Access value by label 'y'

    Using s['y'] returns the value 10 stored at label 'y'.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Dict keys = labels, s['y'] = 10 [OK]
Hint: Dict keys become labels; access by label returns value [OK]
Common Mistakes:
  • Expecting s['y'] to return the label 'y'
  • Confusing keys and values
  • Thinking it raises KeyError
4. Identify the error in this code snippet:
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b'])
medium
A. No error, code runs fine
B. Data must be a dictionary, not a list
C. Index length does not match data length
D. pd.Series cannot take index parameter

Solution

  1. Step 1: Check lengths of data and index

    Data has 3 elements, index has 2 labels. They must be equal length.
  2. Step 2: Understand pandas behavior

    Mismatch causes ValueError: Length of passed values does not match index.
  3. Final Answer:

    Index length does not match data length -> Option C
  4. Quick Check:

    Data and index lengths must match [OK]
Hint: Data and index must have same length [OK]
Common Mistakes:
  • Assuming list data must be dict
  • Thinking index parameter is invalid
  • Ignoring length mismatch error
5. You have a dictionary {'a': 1, 'b': 0, 'c': 3, 'd': None}. You want to create a Series that only includes keys with truthy values (non-zero, non-None). Which code correctly creates this filtered Series?
hard
A. pd.Series({k: v for k, v in {'a':1, 'b':0, 'c':3, 'd':None}.items() if v})
B. pd.Series({'a':1, 'b':0, 'c':3, 'd':None}).dropna()
C. pd.Series({'a':1, 'b':0, 'c':3, 'd':None}).fillna(0)
D. pd.Series({'a':1, 'b':0, 'c':3, 'd':None})

Solution

  1. Step 1: Understand filtering for truthy values

    Truthy means values that are not 0, None, False, or empty.
  2. Step 2: Check each option's effect

    pd.Series({k: v for k, v in {'a':1, 'b':0, 'c':3, 'd':None}.items() if v}) uses dict comprehension to filter out falsy values before creating Series. pd.Series({'a':1, 'b':0, 'c':3, 'd':None}).dropna() only drops None but keeps 0. pd.Series({'a':1, 'b':0, 'c':3, 'd':None}).fillna(0) replaces None with 0, keeping falsy values. pd.Series({'a':1, 'b':0, 'c':3, 'd':None}) includes all values.
  3. Final Answer:

    pd.Series({k: v for k, v in {'a':1, 'b':0, 'c':3, 'd':None}.items() if v}) -> Option A
  4. Quick Check:

    Filter dict first to exclude falsy values [OK]
Hint: Filter dict with if v before Series creation [OK]
Common Mistakes:
  • Using dropna() only removes None, not 0
  • Filling None with 0 keeps falsy values
  • Not filtering before creating Series
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