📖 Scenario: You work in a small shop that keeps sales records in simple files. You want to learn how to read and write data files using pandas so you can analyze sales easily.
🎯 Goal: Learn how to load data from a CSV file into a pandas DataFrame, save a DataFrame to a new CSV file, and understand why reading and writing data files is important in data science.
📋 What You'll Learn
Use pandas to read CSV files
Create a pandas DataFrame from a dictionary
Save a DataFrame to a CSV file
Print DataFrame contents
💡 Why This Matters
🌍 Real World
Data scientists often get data from files or databases and save results back to files. Knowing how to read and write data files is essential for working with real data.
💼 Career
Most data science jobs require handling data input/output efficiently to prepare data for analysis and share results with others.
Progress0 / 4 steps
1
Create sales data dictionary
Create a dictionary called sales_data with these exact entries: 'Product': ['Apple', 'Banana', 'Carrot'], 'Quantity': [10, 5, 7], and 'Price': [0.5, 0.3, 0.2].
Pandas
Hint
Use a dictionary with keys 'Product', 'Quantity', and 'Price'. Each key should have a list of values.
2
Create pandas DataFrame from dictionary
Import pandas as pd and create a DataFrame called df from the sales_data dictionary.
Pandas
Hint
Use pd.DataFrame() to convert the dictionary to a DataFrame.
3
Save DataFrame to CSV file
Save the DataFrame df to a CSV file named 'sales.csv' without the index column.
Pandas
Hint
Use df.to_csv() with index=False to save without row numbers.
4
Read CSV file and print DataFrame
Read the CSV file 'sales.csv' into a new DataFrame called new_df using pandas, then print new_df.
Pandas
Hint
Use pd.read_csv() to load the file, then print() the DataFrame.
Practice
(1/5)
1. What does pandas.read_csv() do in data science?
easy
A. It reads data from a CSV file into a DataFrame.
B. It saves a DataFrame to a CSV file.
C. It creates a new empty DataFrame.
D. It deletes a CSV file from disk.
Solution
Step 1: Understand the function name
The function name read_csv suggests it reads CSV files.
Step 2: Recall pandas I/O functions
read_csv loads data from a CSV file into a pandas DataFrame for analysis.
Final Answer:
It reads data from a CSV file into a DataFrame. -> Option A
Quick Check:
read_csv = read data [OK]
Hint: Remember: read_csv reads data in, to_csv writes data out [OK]
Common Mistakes:
Confusing read_csv with to_csv
Thinking it creates empty DataFrame
Assuming it deletes files
2. Which of the following is the correct syntax to save a DataFrame df to a CSV file named data.csv?
easy
A. df.to_csv('data.csv')
B. df.read_csv('data.csv')
C. pandas.save_csv(df, 'data.csv')
D. df.save('data.csv')
Solution
Step 1: Identify the correct pandas method for saving
The method to save a DataFrame to CSV is to_csv.
Step 2: Check the syntax
The syntax is df.to_csv('filename.csv'), which matches df.to_csv('data.csv').
Final Answer:
df.to_csv('data.csv') -> Option A
Quick Check:
to_csv saves DataFrame to CSV [OK]
Hint: Use df.to_csv('filename.csv') to save data [OK]
Common Mistakes:
Using read_csv instead of to_csv
Using non-existent methods like save_csv or save
Wrong method call order
3. What will be the output of this code?
import pandas as pd
from io import StringIO
csv_data = 'name,age\nAlice,30\nBob,25'
df = pd.read_csv(StringIO(csv_data))
print(df.shape)
medium
A. (3, 3)
B. (3, 2)
C. (2, 3)
D. (2, 2)
Solution
Step 1: Understand the CSV data
The CSV string has 2 rows of data (Alice and Bob) and 2 columns (name, age).
Step 2: Check DataFrame shape
The shape is (rows, columns) = (2, 2).
Final Answer:
(2, 2) -> Option D
Quick Check:
2 rows and 2 columns = (2, 2) [OK]
Hint: Count rows and columns in CSV to find shape [OK]
Common Mistakes:
Counting header as a data row
Mixing rows and columns in shape
Confusing number of columns
4. Identify the error in this code snippet that tries to read a CSV file:
import pandas as pd
df = pd.read_csv('data.txt')
medium
A. read_csv cannot read text files
B. No error, code is correct
C. File extension should be .csv, not .txt
D. Missing import statement
Solution
Step 1: Examine the code for syntax issues
The code has proper import and correct read_csv call. No syntax errors.
Step 2: Understand file handling
pandas read_csv reads files based on content, not extension. 'data.txt' works if it contains CSV data.
Final Answer:
No error, code is correct -> Option B
Quick Check:
read_csv ignores file extension [OK]
Hint: File extension (.csv or .txt) doesn't matter for read_csv if format is correct [OK]
Common Mistakes:
Insisting on .csv extension only
Believing read_csv can't handle .txt files
Overlooking the present import statement
5. You have a DataFrame df with columns ['A', 'B', 'C']. You want to save only columns A and C to a CSV file named subset.csv. Which code correctly does this?
hard
A. df.to_csv('subset.csv', columns=['A', 'C'])
B. df.to_csv('subset.csv', cols=['A', 'C'])
C. df[['A', 'C']].to_csv('subset.csv', index=False)
D. df.to_csv('subset.csv').select(['A', 'C'])
Solution
Step 1: Recall to_csv column selection
Slicing df[['A', 'C']] creates a subset DataFrame with only desired columns.
Step 2: Proper saving syntax
df[['A', 'C']].to_csv('subset.csv', index=False) saves exactly A and C without index column.
Step 3: Evaluate alternatives
df.to_csv('subset.csv', columns=['A', 'C']) saves index + A + C (extra column). df.to_csv('subset.csv', cols=['A', 'C']) invalid cols param. df.to_csv('subset.csv').select(['A', 'C']) invalid method chain.
Final Answer:
df[['A', 'C']].to_csv('subset.csv', index=False) -> Option C
Quick Check:
df[cols].to_csv(index=False) excludes index [OK]
Hint: df[['A','C']].to_csv('subset.csv', index=False) for only those columns [OK]
Common Mistakes:
Using columns= without index=False (adds index column)
Using invalid cols parameter
Chaining non-existent .select() method
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.