Bird
Raised Fist0
Pandasdata~10 mins

Specifying column names and index in Pandas - 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 DataFrame with columns named 'A' and 'B'.

Pandas
import pandas as pd
data = [[1, 2], [3, 4]]
df = pd.DataFrame(data, columns=[1])
print(df)
Drag options to blanks, or click blank then click option'
A['a', 'b']
B['X', 'Y']
C['1', '2']
D['A', 'B']
Attempts:
3 left
💡 Hint
Common Mistakes
Using column names that don't match the data length.
Not passing a list for the columns parameter.
2fill in blank
medium

Complete the code to set the index of the DataFrame to the 'Name' column.

Pandas
import pandas as pd
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
df = df.set_index([1])
print(df)
Drag options to blanks, or click blank then click option'
A'Index'
B'Name'
C'Age'
D'ID'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a column name that does not exist.
Passing the column name without quotes.
3fill in blank
hard

Fix the error in the code to correctly specify column names when creating the DataFrame.

Pandas
import pandas as pd
data = [[5, 6], [7, 8]]
df = pd.DataFrame(data, columns=[1])
print(df)
Drag options to blanks, or click blank then click option'
A['A', 'B']
B'A, B'
C('A', 'B')
D{'A', 'B'}
Attempts:
3 left
💡 Hint
Common Mistakes
Using a single string with commas instead of a list.
Using a tuple or set instead of a list.
4fill in blank
hard

Fill both blanks to create a DataFrame with columns 'X' and 'Y' and set 'X' as the index.

Pandas
import pandas as pd
data = [[9, 10], [11, 12]]
df = pd.DataFrame(data, columns=[1])
df = df.set_index([2])
print(df)
Drag options to blanks, or click blank then click option'
A['X', 'Y']
B['A', 'B']
C'X'
D'Y'
Attempts:
3 left
💡 Hint
Common Mistakes
Setting the index to a column not in the DataFrame.
Using incorrect list or string syntax.
5fill in blank
hard

Fill all three blanks to create a DataFrame with columns 'Name' and 'Score', set 'Name' as index, and print the DataFrame.

Pandas
import pandas as pd
data = [['John', 88], ['Jane', 92]]
df = pd.DataFrame(data, columns=[1])
df = df.set_index([2])
print([3])
Drag options to blanks, or click blank then click option'
A['Name', 'Score']
B'Name'
Cdf
D'Score'
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect syntax for columns or index.
Printing the wrong variable.

Practice

(1/5)
1. What is the purpose of specifying column names when creating a pandas DataFrame?
easy
A. To change the data type of columns automatically
B. To delete unwanted rows from the DataFrame
C. To sort the rows in ascending order
D. To label each data column clearly for easier understanding

Solution

  1. Step 1: Understand column names role

    Column names act like labels on folders, helping identify what data each column holds.
  2. Step 2: Recognize their benefit

    Clear labels make it easier to read and work with data without confusion.
  3. Final Answer:

    To label each data column clearly for easier understanding -> Option D
  4. Quick Check:

    Column names label data columns [OK]
Hint: Column names are like labels on folders for clarity [OK]
Common Mistakes:
  • Thinking column names change data types
  • Confusing column names with sorting
  • Believing column names delete rows
2. Which of the following is the correct way to specify column names when creating a DataFrame from a list of lists?
easy
A. pd.DataFrame(data, columns=['Name', 'Age'])
B. pd.DataFrame(data, index=['Name', 'Age'])
C. pd.DataFrame(data, labels=['Name', 'Age'])
D. pd.DataFrame(data, names=['Name', 'Age'])

Solution

  1. Step 1: Recall DataFrame syntax

    To name columns, use the 'columns' parameter with a list of names.
  2. Step 2: Identify correct option

    Only pd.DataFrame(data, columns=['Name', 'Age']) uses 'columns' correctly; others use invalid parameters.
  3. Final Answer:

    pd.DataFrame(data, columns=['Name', 'Age']) -> Option A
  4. Quick Check:

    Use 'columns' to name columns [OK]
Hint: Use 'columns' parameter to name columns in DataFrame [OK]
Common Mistakes:
  • Using 'index' to name columns instead of rows
  • Using non-existent parameters like 'labels' or 'names'
  • Confusing column names with index labels
3. What will be the output of this code?
import pandas as pd
data = [[10, 20], [30, 40]]
df = pd.DataFrame(data, columns=['A', 'B'], index=['row1', 'row2'])
print(df)
medium
A. A table with default numeric columns and rows indexed as 'row1' and 'row2'
B. A table with columns named 'A' and 'B' and rows indexed as 'row1' and 'row2'
C. A table with columns named 'A' and 'B' and default numeric row indices
D. SyntaxError due to wrong parameters

Solution

  1. Step 1: Analyze DataFrame creation

    Columns are set to ['A', 'B'] and index to ['row1', 'row2'], so labels replace defaults.
  2. Step 2: Predict printed output

    Printed DataFrame shows data with specified column names and row indices.
  3. Final Answer:

    A table with columns named 'A' and 'B' and rows indexed as 'row1' and 'row2' -> Option B
  4. Quick Check:

    Columns and index labels set correctly [OK]
Hint: Columns and index parameters label columns and rows respectively [OK]
Common Mistakes:
  • Assuming default numeric indices when index is specified
  • Confusing columns and index parameters
  • Expecting syntax error with correct parameters
4. Identify the error in this code snippet:
import pandas as pd
data = [[1, 2], [3, 4]]
df = pd.DataFrame(data, columns='X,Y', index=['r1', 'r2'])
print(df)
medium
A. Data should be a dictionary, not a list
B. The index list length does not match data rows
C. The columns parameter should be a list, not a string
D. print(df) is missing parentheses

Solution

  1. Step 1: Check columns parameter type

    Columns must be a list of strings, but 'X,Y' is a single string.
  2. Step 2: Understand impact

    Passing a string causes pandas to treat each character as a column name, leading to unexpected columns.
  3. Final Answer:

    The columns parameter should be a list, not a string -> Option C
  4. Quick Check:

    Columns must be list, not string [OK]
Hint: Always use list for columns, not a comma string [OK]
Common Mistakes:
  • Passing columns as a comma-separated string
  • Ignoring mismatch between index length and data rows
  • Thinking print needs no parentheses in Python 3
5. You have this nested list:
data = [[1, 2], [3, 4], [5, 6]]

You want to create a DataFrame with columns named 'X' and 'Y' and index labels as 'a', 'b', 'c'. Which code correctly does this?
hard
A. pd.DataFrame(data, columns=['X', 'Y'], index=['a', 'b', 'c'])
B. pd.DataFrame(data, columns=['a', 'b', 'c'], index=['X', 'Y'])
C. pd.DataFrame(data, index=['X', 'Y'], columns=['a', 'b', 'c'])
D. pd.DataFrame(data, labels=['X', 'Y'], rows=['a', 'b', 'c'])

Solution

  1. Step 1: Match columns and index to data shape

    Data has 3 rows and 2 columns, so columns list must have 2 names and index list 3 labels.
  2. Step 2: Identify correct parameter usage

    pd.DataFrame(data, columns=['X', 'Y'], index=['a', 'b', 'c']) correctly uses columns=['X', 'Y'] and index=['a', 'b', 'c'] matching data shape.
  3. Final Answer:

    pd.DataFrame(data, columns=['X', 'Y'], index=['a', 'b', 'c']) -> Option A
  4. Quick Check:

    Columns and index match data shape [OK]
Hint: Columns = data columns, index = data rows labels [OK]
Common Mistakes:
  • Swapping columns and index lists
  • Using wrong parameter names like 'labels' or 'rows'
  • Mismatching list lengths with data shape
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