Bird
Raised Fist0
Data Analysis Pythondata~10 mins

Why combining datasets creates complete pictures in Data Analysis Python - Test Your Understanding

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

Complete the code to merge two dataframes on the 'id' column.

Data Analysis Python
merged_df = df1.merge(df2, on=[1])
Drag options to blanks, or click blank then click option'
A'name'
B'id'
C'age'
D'score'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a column that doesn't exist in both dataframes.
Forgetting to put quotes around the column name.
2fill in blank
medium

Complete the code to concatenate two dataframes vertically.

Data Analysis Python
combined_df = pd.concat([df1, df2], axis=[1])
Drag options to blanks, or click blank then click option'
A0
B-1
C1
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using axis=1 which stacks columns instead of rows.
Using an invalid axis number.
3fill in blank
hard

Fix the error in the code to merge dataframes with an inner join.

Data Analysis Python
result = df1.merge(df2, how=[1], on='user_id')
Drag options to blanks, or click blank then click option'
A'outer'
B'left'
C'inner'
D'right'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'outer' which keeps all rows, not just matching ones.
Using 'left' or 'right' which keep all rows from one dataframe only.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 letters.

Data Analysis Python
lengths = {word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as the value instead of its length.
Using '<' instead of '>' in the condition.
5fill in blank
hard

Fill all three blanks to create a filtered dictionary with uppercase keys and values greater than 0.

Data Analysis Python
result = [1]: [2] for k, v in data.items() if v [3] 0}
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'k' instead of 'k.upper()' for keys.
Using '<' instead of '>' in the condition.
Using keys as values or vice versa.

Practice

(1/5)
1. Why do we combine datasets in data analysis?
easy
A. To make data smaller by removing columns
B. To delete unnecessary data permanently
C. To get a more complete view by joining related information
D. To create random data for testing

Solution

  1. Step 1: Understand the purpose of combining datasets

    Combining datasets helps bring together related pieces of information from different sources.
  2. Step 2: Recognize the benefit of combining

    This creates a fuller, more complete picture for analysis.
  3. Final Answer:

    To get a more complete view by joining related information -> Option C
  4. Quick Check:

    Combining datasets = fuller picture [OK]
Hint: Combining means joining info to see the whole story [OK]
Common Mistakes:
  • Thinking combining deletes data
  • Confusing combining with filtering
  • Believing combining creates random data
2. Which of the following is the correct syntax to merge two pandas DataFrames df1 and df2 on a common column 'id'?
easy
A. pd.merge(df1, df2, on='id')
B. df1.merge(df2, by='id')
C. merge(df1, df2, key='id')
D. pd.join(df1, df2, on='id')

Solution

  1. Step 1: Recall pandas merge syntax

    The correct function is pd.merge() with parameters for the two DataFrames and the column name using on='id'.
  2. Step 2: Check each option

    pd.merge(df1, df2, on='id') uses correct function and parameter names. Others use incorrect method names or parameters.
  3. Final Answer:

    pd.merge(df1, df2, on='id') -> Option A
  4. Quick Check:

    Correct merge syntax = pd.merge(df1, df2, on='id') [OK]
Hint: Use pd.merge() with on='column' to combine DataFrames [OK]
Common Mistakes:
  • Using wrong method like df1.merge with 'by' instead of 'on'
  • Using pd.join which does not exist
  • Passing wrong parameter names like 'key'
3. Given these two DataFrames:
df1 = pd.DataFrame({'id': [1, 2, 3], 'value1': ['A', 'B', 'C']})
df2 = pd.DataFrame({'id': [2, 3, 4], 'value2': ['X', 'Y', 'Z']})
result = pd.merge(df1, df2, on='id', how='inner')

What is the content of result?
medium
A. {'id': [2, 3], 'value1': ['B', 'C'], 'value2': ['X', 'Y']}
B. {'id': [1, 2, 3, 4], 'value1': ['A', 'B', 'C', NaN], 'value2': [NaN, 'X', 'Y', 'Z']}
C. {'id': [1, 2, 3], 'value1': ['A', 'B', 'C'], 'value2': [NaN, 'X', 'Y']}
D. {'id': [2, 3, 4], 'value1': ['B', 'C', NaN], 'value2': ['X', 'Y', 'Z']}

Solution

  1. Step 1: Understand inner join behavior

    Inner join keeps only rows with matching 'id' in both DataFrames. Here, ids 2 and 3 appear in both.
  2. Step 2: Match rows and combine columns

    Rows with id 2 and 3 combine values from both DataFrames. Others are dropped.
  3. Final Answer:

    {'id': [2, 3], 'value1': ['B', 'C'], 'value2': ['X', 'Y']} -> Option A
  4. Quick Check:

    Inner join = only matching ids kept [OK]
Hint: Inner join keeps only rows with matching keys in both sets [OK]
Common Mistakes:
  • Confusing inner join with outer join
  • Expecting all ids to appear
  • Mixing up which columns get NaN
4. You try to merge two DataFrames df1 and df2 on column 'key' using pd.merge(df1, df2, on='key') but get a KeyError: 'key'. What is the likely cause?
medium
A. You must use how='outer' to avoid KeyError
B. The column 'key' does not exist in one or both DataFrames
C. You forgot to import pandas as pd
D. The DataFrames have different numbers of rows

Solution

  1. Step 1: Understand KeyError in merge context

    A KeyError for the merge column means that column is missing in one or both DataFrames.
  2. Step 2: Check other options

    Using different join types or import issues do not cause KeyError on column name. Row counts do not matter for this error.
  3. Final Answer:

    The column 'key' does not exist in one or both DataFrames -> Option B
  4. Quick Check:

    KeyError means missing column [OK]
Hint: KeyError on merge means missing column in data [OK]
Common Mistakes:
  • Thinking join type fixes KeyError
  • Assuming import error causes KeyError
  • Believing row count mismatch causes KeyError
5. You have two datasets:
sales = pd.DataFrame({'store_id': [1, 2, 3], 'sales': [100, 200, 300]})
stores = pd.DataFrame({'store_id': [2, 3, 4], 'location': ['NY', 'LA', 'SF']})

You want a combined table showing all stores with their sales if available, and location if available. Which merge command gives this complete picture?
hard
A. pd.merge(sales, stores, on='store_id', how='inner')
B. pd.merge(sales, stores, on='store_id', how='left')
C. pd.merge(sales, stores, on='store_id', how='right')
D. pd.merge(sales, stores, on='store_id', how='outer')

Solution

  1. Step 1: Understand join types and goal

    You want all stores from both datasets, showing sales and location where available.
  2. Step 2: Choose join type that keeps all rows

    Outer join keeps all rows from both DataFrames, filling missing values with NaN.
  3. Step 3: Verify options

    Inner join keeps only matching stores. Left or right join keep only one side's stores. Outer join keeps all.
  4. Final Answer:

    pd.merge(sales, stores, on='store_id', how='outer') -> Option D
  5. Quick Check:

    Outer join = all data combined [OK]
Hint: Use outer join to keep all rows from both datasets [OK]
Common Mistakes:
  • Using inner join and losing unmatched rows
  • Confusing left/right join with full outer join
  • Expecting missing data to be dropped automatically
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