Bird
Raised Fist0
Data Analysis Pythondata~20 mins

Reading CSV files (read_csv) in Data Analysis Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
CSV Reading Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of reading CSV with specific delimiter
What is the output DataFrame when reading the CSV content with a semicolon delimiter?
Data Analysis Python
import pandas as pd
from io import StringIO
csv_data = '''name;age;city
Alice;30;New York
Bob;25;Los Angeles
Charlie;35;Chicago'''
df = pd.read_csv(StringIO(csv_data), delimiter=';')
df
A
Empty DataFrame
Columns: [name, age, city]
Index: []
B[["name", "age", "city"], ["Alice", 30, "New York"], ["Bob", 25, "Los Angeles"], ["Charlie", 35, "Chicago"]]
C
   name;age;city
0  Alice;30;New York
1  Bob;25;Los Angeles
2  Charlie;35;Chicago
D
   name  age         city
0  Alice   30     New York
1    Bob   25  Los Angeles
2 Charlie   35      Chicago
Attempts:
2 left
💡 Hint
Check how the delimiter parameter affects parsing.
❓ data_output
intermediate
1:30remaining
Number of rows after reading CSV with skiprows
How many rows does the DataFrame have after reading the CSV while skipping the first data row?
Data Analysis Python
import pandas as pd
from io import StringIO
csv_data = '''name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago'''
df = pd.read_csv(StringIO(csv_data), skiprows=[1])
len(df)
A1
B3
C2
D0
Attempts:
2 left
💡 Hint
skiprows removes the specified rows from the file before parsing.
🔧 Debug
advanced
2:00remaining
Identify the error when reading CSV with wrong header parameter
What error occurs when running this code?
Data Analysis Python
import pandas as pd
from io import StringIO
csv_data = '''name,age,city
Alice,30,New York
Bob,25,Los Angeles'''
df = pd.read_csv(StringIO(csv_data), header=2)
df
Apandas.errors.ParserError
BEmpty DataFrame with columns [Bob, 25, Los Angeles]
CEmpty DataFrame with columns [Alice, 30, New York]
DIndexError
Attempts:
2 left
💡 Hint
header=2 means the third line is used as header.
🚀 Application
advanced
2:30remaining
Reading CSV with missing values and filling them
Given a CSV with missing values, which code correctly reads it and fills missing ages with 0?
Data Analysis Python
import pandas as pd
from io import StringIO
csv_data = '''name,age,city
Alice,30,New York
Bob,,Los Angeles
Charlie,35,Chicago'''
df = pd.read_csv(StringIO(csv_data))
df['age'] = df['age'].fillna(0)
df
A
   name   age         city
0  Alice  30.0     New York
1    Bob   0.0  Los Angeles
2 Charlie 35.0      Chicago
B
   name  age         city
0  Alice   30     New York
1    Bob  NaN  Los Angeles
2 Charlie 35      Chicago
C
   name  age         city
0  Alice  30.0     New York
1    Bob  NaN  Los Angeles
2 Charlie 35.0      Chicago
D
   name  age         city
0  Alice  30.0     New York
1    Bob  0     Los Angeles
2 Charlie 35.0      Chicago
Attempts:
2 left
💡 Hint
fillna replaces NaN values with the given value.
🧠 Conceptual
expert
2:00remaining
Effect of dtype parameter in read_csv
What is the effect of setting dtype={'age': str} when reading a CSV file?
AThe 'age' column is read as strings, preserving leading zeros and preventing numeric conversion.
BThe 'age' column is converted to integers, removing any decimal points.
CThe entire DataFrame is read as strings regardless of column names.
DThe 'age' column is ignored and not included in the DataFrame.
Attempts:
2 left
💡 Hint
dtype controls the data type of specific columns during import.

Practice

(1/5)
1. What does the read_csv function in pandas do?
easy
A. Saves a DataFrame to a CSV file
B. Loads data from a CSV file into a DataFrame
C. Deletes a CSV file from disk
D. Creates a new empty CSV file

Solution

  1. Step 1: Understand the purpose of read_csv

    The read_csv function is used to load data from a CSV file into a pandas DataFrame, which is a table-like data structure.
  2. Step 2: Differentiate from other file operations

    Saving or deleting files are done by other functions, not read_csv. This function only reads and loads data.
  3. Final Answer:

    Loads data from a CSV file into a DataFrame -> Option B
  4. Quick Check:

    read_csv = Load CSV data [OK]
Hint: Remember: read_csv means read and load CSV data [OK]
Common Mistakes:
  • Confusing read_csv with saving functions
  • Thinking it creates or deletes files
  • Assuming it returns raw text instead of DataFrame
2. Which of the following is the correct syntax to load a CSV file named data.csv using pandas?
easy
A. pd.read_csv('data.csv')
B. pd.load_csv('data.csv')
C. pandas.read('data.csv')
D. pd.read('data.csv')

Solution

  1. Step 1: Recall pandas function for reading CSV

    The correct pandas function to read CSV files is read_csv, called as pd.read_csv() if pandas is imported as pd.
  2. Step 2: Check the syntax correctness

    The argument should be the filename as a string inside parentheses. So pd.read_csv('data.csv') is correct.
  3. Final Answer:

    pd.read_csv('data.csv') -> Option A
  4. Quick Check:

    Correct function name and syntax = pd.read_csv('data.csv') [OK]
Hint: Use pd.read_csv('filename.csv') to load CSV files [OK]
Common Mistakes:
  • Using pd.load_csv which does not exist
  • Using pd.read instead of read_csv
  • Forgetting quotes around filename
3. Given the CSV file sample.csv with content:
name,age
Alice,30
Bob,25
Charlie,35

What will be the output of this code?
import pandas as pd
df = pd.read_csv('sample.csv')
print(df.head(2))
medium
A. Throws an error because head() needs no arguments
B. Prints all rows because head() defaults to all
C. Prints only the column names without data
D. Prints first 2 rows with columns 'name' and 'age'

Solution

  1. Step 1: Understand what read_csv does here

    The code loads the CSV file into a DataFrame with columns 'name' and 'age' and three rows.
  2. Step 2: Understand head(2) output

    The head(2) function returns the first 2 rows of the DataFrame, including column headers.
  3. Final Answer:

    Prints first 2 rows with columns 'name' and 'age' -> Option D
  4. Quick Check:

    head(2) = first 2 rows [OK]
Hint: head(n) shows first n rows of DataFrame [OK]
Common Mistakes:
  • Thinking head() shows all rows
  • Assuming head() requires no arguments
  • Expecting only column names without data
4. What is wrong with this code snippet?
import pandas as pd
df = pd.read_csv(data.csv)
print(df.head())
medium
A. Missing quotes around filename 'data.csv'
B. Using print instead of display
C. read_csv cannot be used without specifying separator
D. head() cannot be called without an argument

Solution

  1. Step 1: Check the argument passed to read_csv

    The filename must be a string, so it needs quotes around it. Here, data.csv is not quoted, causing a NameError.
  2. Step 2: Verify other parts of the code

    Using print is fine, separator defaults to comma, and head() can be called without arguments.
  3. Final Answer:

    Missing quotes around filename 'data.csv' -> Option A
  4. Quick Check:

    Filename must be a string in quotes [OK]
Hint: Always put filename in quotes in read_csv [OK]
Common Mistakes:
  • Forgetting quotes around filename
  • Thinking head() needs an argument
  • Assuming separator must always be specified
5. You have a CSV file records.csv where values are separated by semicolons (;). Which code correctly loads this file into a DataFrame?
hard
A. pd.read_csv('records.csv', sep=',')
B. pd.read_csv('records.csv', delimiter=',')
C. pd.read_csv('records.csv', sep=';')
D. pd.read_csv('records.csv', sep='|')

Solution

  1. Step 1: Identify the separator used in the CSV file

    The file uses semicolons (;) to separate values, so the separator must be set to ';'.
  2. Step 2: Use the correct parameter in read_csv

    The parameter sep=';' tells pandas to split columns on semicolons instead of commas.
  3. Final Answer:

    pd.read_csv('records.csv', sep=';') -> Option C
  4. Quick Check:

    Set sep to actual delimiter used [OK]
Hint: Use sep=';' if CSV uses semicolons as separators [OK]
Common Mistakes:
  • Assuming comma is always the separator
  • Using wrong sep parameter
  • Confusing sep and delimiter parameters
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