Bird
Raised Fist0
Pandasdata~20 mins

Arithmetic operations on columns in Pandas - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Arithmetic Operations on Columns
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of adding two DataFrame columns
What is the output of this code snippet?
Pandas
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})
df['C'] = df['A'] + df['B']
print(df['C'].tolist())
A[4, 7, 9]
B[6, 7, 8]
C[1, 2, 3]
D[5, 7, 9]
Attempts:
2 left
💡 Hint
Adding two columns sums their values row-wise.
❓ data_output
intermediate
2:00remaining
Result of subtracting columns with missing values
Given this DataFrame, what is the output of subtracting column 'B' from 'A'?
Pandas
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [10, np.nan, 30],
    'B': [1, 2, np.nan]
})
df['D'] = df['A'] - df['B']
print(df['D'].tolist())
A[9, 0, 30]
B[9.0, -2.0, 30.0]
C[9.0, nan, nan]
D[nan, nan, nan]
Attempts:
2 left
💡 Hint
Subtracting with NaN results in NaN for that row.
❓ visualization
advanced
3:00remaining
Visualizing product of two columns
Which plot correctly shows the product of columns 'X' and 'Y' as a new column 'Z'?
Pandas
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'X': [2, 4, 6],
    'Y': [1, 3, 5]
})
df['Z'] = df['X'] * df['Y']
plt.bar(df.index, df['Z'])
plt.xlabel('Index')
plt.ylabel('Product Z')
plt.title('Bar plot of product of X and Y')
plt.show()
ABar plot with heights [2, 12, 30]
BHistogram of values [1, 3, 5]
CScatter plot with points (2,1), (4,3), (6,5)
DLine plot with points [2, 7, 11]
Attempts:
2 left
💡 Hint
The product of X and Y is calculated element-wise.
🔧 Debug
advanced
2:00remaining
Identify error in column division code
What error does this code raise?
Pandas
import pandas as pd

df = pd.DataFrame({'A': [10, 20, 30], 'B': [2, 0, 5]})
df['C'] = df['A'] / df['B']
print(df['C'].tolist())
AZeroDivisionError
B[5.0, inf, 6.0]
CTypeError
D[5.0, nan, 6.0]
Attempts:
2 left
💡 Hint
Division by zero in pandas results in inf, not an error.
🧠 Conceptual
expert
2:30remaining
Effect of broadcasting in arithmetic operations on columns
Given a DataFrame df with columns 'A' and 'B', what happens when you run df['C'] = df['A'] + 5?
AAdds 5 to each element in column 'A' and stores in 'C'
BAdds 5 to the entire column 'A' as a single value and stores in 'C'
CRaises a TypeError because 5 is not a column
DCreates column 'C' with all values equal to 5
Attempts:
2 left
💡 Hint
Pandas broadcasts scalar values across all rows in a column.

Practice

(1/5)
1. What does the expression df['total'] = df['price'] + df['tax'] do in pandas?
easy
A. Multiplies the 'price' and 'tax' columns and stores in 'total'.
B. Deletes the 'price' and 'tax' columns from the DataFrame.
C. Filters rows where 'price' plus 'tax' is greater than zero.
D. Creates a new column 'total' by adding 'price' and 'tax' columns element-wise.

Solution

  1. Step 1: Understand the operation on columns

    The expression adds values from 'price' and 'tax' columns for each row.
  2. Step 2: Assign result to new column

    The sum is stored in a new column named 'total' in the DataFrame.
  3. Final Answer:

    Creates a new column 'total' by adding 'price' and 'tax' columns element-wise. -> Option D
  4. Quick Check:

    Adding columns creates new column with sums [OK]
Hint: Adding columns creates a new column with their sums [OK]
Common Mistakes:
  • Thinking it multiplies instead of adds
  • Assuming it deletes columns
  • Confusing assignment with filtering
2. Which of the following is the correct syntax to subtract column 'B' from column 'A' in a pandas DataFrame df and store the result in a new column 'C'?
easy
A. df['C'] = df['A'] - df['B']
B. df['C'] = df['A'] + df['B']
C. df['C'] = df['A'] * df['B']
D. df['C'] = df['A'] / df['B']

Solution

  1. Step 1: Identify the subtraction operation

    We want to subtract column 'B' from 'A', so the operator is '-'.
  2. Step 2: Assign the result to new column 'C'

    Use df['C'] = df['A'] - df['B'] to store the difference.
  3. Final Answer:

    df['C'] = df['A'] - df['B'] -> Option A
  4. Quick Check:

    Subtraction uses '-' operator between columns [OK]
Hint: Use '-' operator between columns to subtract [OK]
Common Mistakes:
  • Using '+' instead of '-'
  • Using '*' or '/' operators incorrectly
  • Confusing column names or assignment
3. Given the DataFrame:
import pandas as pd
df = pd.DataFrame({'A': [2, 4], 'B': [3, 5]})
df['C'] = df['A'] * df['B']
print(df['C'])

What is the output?
medium
A. [6, 20]
B. [5, 9]
C. [2, 4]
D. [3, 5]

Solution

  1. Step 1: Multiply columns 'A' and 'B' element-wise

    Row 0: 2 * 3 = 6, Row 1: 4 * 5 = 20.
  2. Step 2: Print the new column 'C'

    The output shows the values [6, 20] for the two rows.
  3. Final Answer:

    [6, 20] -> Option A
  4. Quick Check:

    Element-wise multiplication = [6, 20] [OK]
Hint: Multiply columns element-wise to get new column values [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Printing wrong column
  • Confusing list output format
4. What is wrong with this code snippet?
df['D'] = df['A'] + '5'

Assuming 'A' is a numeric column.
medium
A. It will create a new column 'D' with all values as '5'.
B. It will add 5 to each value in column 'A' correctly.
C. It will raise a TypeError because you cannot add a string to a numeric column.
D. It will concatenate the string '5' to each numeric value in 'A'.

Solution

  1. Step 1: Check data types involved in addition

    Column 'A' is numeric, but '5' is a string, so adding them causes a type mismatch.
  2. Step 2: Understand pandas behavior on mixed types

    Pandas cannot add string to numeric directly, so it raises a TypeError.
  3. Final Answer:

    It will raise a TypeError because you cannot add a string to a numeric column. -> Option C
  4. Quick Check:

    Adding string to number causes TypeError [OK]
Hint: Check data types before arithmetic to avoid errors [OK]
Common Mistakes:
  • Assuming string '5' is converted automatically
  • Expecting concatenation with numbers
  • Ignoring error messages
5. You have a DataFrame df with columns 'cost' and 'discount'. You want to create a new column 'final_price' that subtracts the discount from cost and then applies a 10% tax on the result. Which code correctly does this?
hard
A. df['final_price'] = df['cost'] * 1.10 - df['discount']
B. df['final_price'] = (df['cost'] - df['discount']) * 1.10
C. df['final_price'] = df['cost'] - (df['discount'] * 1.10)
D. df['final_price'] = df['cost'] - df['discount'] * 1.10

Solution

  1. Step 1: Subtract discount from cost

    Calculate the price after discount: df['cost'] - df['discount'].
  2. Step 2: Apply 10% tax on discounted price

    Multiply the result by 1.10 to add 10% tax.
  3. Step 3: Assign to 'final_price'

    Store the final value in the new column 'final_price'.
  4. Final Answer:

    df['final_price'] = (df['cost'] - df['discount']) * 1.10 -> Option B
  5. Quick Check:

    Subtract then multiply for tax = correct formula [OK]
Hint: Use parentheses to control order: subtract first, then multiply [OK]
Common Mistakes:
  • Missing parentheses causing wrong order
  • Multiplying discount instead of discounted price
  • Applying tax before subtracting discount
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