Bird
Raised Fist0
Data Analysis Pythondata~30 mins

Creating DataFrames (dict, list, CSV) in Data Analysis Python - Try It Yourself

Choose your learning style10 modes available
Creating DataFrames from Dictionary, List, and CSV
📖 Scenario: You work as a data analyst for a small bookstore. You want to organize book information using tables to analyze sales and inventory easily.
🎯 Goal: You will create tables called DataFrames from different data sources: a dictionary, a list of lists, and a CSV file. This will help you understand how to start working with data in Python.
📋 What You'll Learn
Use the pandas library to create DataFrames
Create a DataFrame from a dictionary
Create a DataFrame from a list of lists
Create a DataFrame by reading a CSV file
Print the DataFrames to see their content
💡 Why This Matters
🌍 Real World
DataFrames are the main way to organize and analyze data in many fields like sales, finance, and research.
💼 Career
Knowing how to create DataFrames from various data sources is a key skill for data analysts and data scientists.
Progress0 / 4 steps
1
Create a DataFrame from a dictionary
Import the pandas library as pd. Then create a dictionary called book_dict with these exact entries: 'Title': ['Python Basics', 'Data Science 101', 'Machine Learning'], 'Author': ['John Doe', 'Jane Smith', 'Emily Davis'], and 'Price': [29.99, 39.99, 49.99]. Finally, create a DataFrame called df_dict from book_dict using pd.DataFrame().
Data Analysis Python
Hint

Use pd.DataFrame() to convert the dictionary into a DataFrame.

2
Create a DataFrame from a list of lists
Create a list of lists called book_list with these exact rows: ['Python Basics', 'John Doe', 29.99], ['Data Science 101', 'Jane Smith', 39.99], and ['Machine Learning', 'Emily Davis', 49.99]. Then create a DataFrame called df_list from book_list using pd.DataFrame() and set the column names to ['Title', 'Author', 'Price'].
Data Analysis Python
Hint

Use columns=[...] to name the columns when creating the DataFrame from the list.

3
Create a DataFrame by reading a CSV file
Create a CSV file named books.csv with these exact contents including the header:
Title,Author,Price
Python Basics,John Doe,29.99
Data Science 101,Jane Smith,39.99
Machine Learning,Emily Davis,49.99
Then read this CSV file into a DataFrame called df_csv using pd.read_csv().
Data Analysis Python
Hint

Use open() with mode 'w' to create the CSV file, then pd.read_csv() to read it.

4
Print all three DataFrames
Print the DataFrames df_dict, df_list, and df_csv in this exact order, each on its own line.
Data Analysis Python
Hint

Use three print() statements, one for each DataFrame.

Practice

(1/5)
1. What is the main purpose of creating a DataFrame in data analysis?
easy
A. To organize data in a table format for easy analysis
B. To write data to a text file
C. To create a list of numbers
D. To perform calculations without storing data

Solution

  1. Step 1: Understand what a DataFrame is

    A DataFrame is like a table with rows and columns, used to organize data clearly.
  2. Step 2: Identify the purpose of DataFrames

    They help analyze data easily by structuring it in rows and columns.
  3. Final Answer:

    To organize data in a table format for easy analysis -> Option A
  4. Quick Check:

    DataFrame = Table for data analysis [OK]
Hint: DataFrames = tables for data, not just lists or files [OK]
Common Mistakes:
  • Confusing DataFrame with a simple list
  • Thinking DataFrame is for saving files only
  • Believing DataFrame is just for calculations
2. Which of the following is the correct way to create a DataFrame from a dictionary in Python using pandas?
easy
A. pd.DataFrame(name=['Alice', 'Bob'], age=[25, 30])
B. pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]})
C. pd.DataFrame({'name': 'Alice', 'age': 25})
D. pd.DataFrame['name', 'age'] = ['Alice', 'Bob'], [25, 30]

Solution

  1. Step 1: Recall pandas DataFrame creation syntax

    Use pd.DataFrame() with a dictionary where keys are column names and values are lists of column data.
  2. Step 2: Check each option

    pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]}) correctly uses a dictionary with lists for columns. Others have syntax errors or wrong formats.
  3. Final Answer:

    pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]}) -> Option B
  4. Quick Check:

    Dictionary with lists = pd.DataFrame() [OK]
Hint: Use dictionary with lists inside pd.DataFrame() [OK]
Common Mistakes:
  • Using pd.DataFrame with wrong brackets
  • Passing single values instead of lists
  • Trying to assign columns after creating DataFrame
3. What will be the output of this code?
import pandas as pd
data = [[1, 'Alice'], [2, 'Bob']]
df = pd.DataFrame(data, columns=['ID', 'Name'])
print(df)
medium
A. A DataFrame with columns 'ID' and 'Name' showing the two rows of data
B. A list of lists printed as is
C. An error because columns parameter is missing
D. A DataFrame with default numeric column names

Solution

  1. Step 1: Understand DataFrame creation from list of lists

    Passing a list of lists with columns names creates a DataFrame with those columns and rows.
  2. Step 2: Check the print output

    The DataFrame will show two rows with columns 'ID' and 'Name' filled with given data.
  3. Final Answer:

    A DataFrame with columns 'ID' and 'Name' showing the two rows of data -> Option A
  4. Quick Check:

    List + columns = DataFrame table [OK]
Hint: List + columns param creates labeled DataFrame [OK]
Common Mistakes:
  • Expecting a list output instead of DataFrame
  • Forgetting columns parameter causes default columns
  • Confusing list of lists with dictionary input
4. Identify the error in this code that tries to create a DataFrame from a CSV file:
import pandas as pd
df = pd.read_csv('data.csv', header=2)
print(df.head())
medium
A. read_csv cannot read CSV files
B. The file name must be 'data.txt' not 'data.csv'
C. The header parameter should be 0 to read the first row as column names
D. print(df.head()) is incorrect syntax

Solution

  1. Step 1: Understand header parameter in read_csv

    header=2 means pandas treats the third row as column names, which may be wrong if first row has headers.
  2. Step 2: Identify correct header usage

    Usually header=0 is used to read the first row as column names. Using 2 can cause wrong column names or data misalignment.
  3. Final Answer:

    The header parameter should be 0 to read the first row as column names -> Option C
  4. Quick Check:

    header=0 reads first row as columns [OK]
Hint: Use header=0 to read first row as column names [OK]
Common Mistakes:
  • Setting header to wrong row number
  • Confusing file extensions
  • Misunderstanding print(df.head()) usage
5. You have a CSV file with columns 'Name', 'Age', and 'Score'. You want to create a DataFrame but only keep rows where 'Score' is above 80. Which code correctly creates the DataFrame and filters it?
hard
A. import pandas as pd\ndf = pd.read_csv('file.csv', filter='Score > 80')\nprint(df)
B. import pandas as pd\ndf = pd.read_csv('file.csv')\ndf_filtered = df.where('Score' > 80)\nprint(df_filtered)
C. import pandas as pd\ndf = pd.read_csv('file.csv')\ndf_filtered = df.filter('Score > 80')\nprint(df_filtered)
D. import pandas as pd\ndf = pd.read_csv('file.csv')\ndf_filtered = df[df['Score'] > 80]\nprint(df_filtered)

Solution

  1. Step 1: Read CSV file into DataFrame

    Use pd.read_csv('file.csv') to load all data.
  2. Step 2: Filter rows where 'Score' > 80

    Use boolean indexing: df[df['Score'] > 80] to keep only rows with Score above 80.
  3. Final Answer:

    import pandas as pd\ndf = pd.read_csv('file.csv')\ndf_filtered = df[df['Score'] > 80]\nprint(df_filtered) -> Option D
  4. Quick Check:

    Boolean indexing filters rows [OK]
Hint: Use df[df['Score'] > 80] to filter rows [OK]
Common Mistakes:
  • Trying to filter inside read_csv
  • Using df.filter() incorrectly
  • Using df.where() without proper condition
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