Hint: Use df['new_col'] = expression to add columns [OK]
Common Mistakes:
Using double equals (==) instead of single equals (=) for assignment
Trying to use a method like add_column which doesn't exist
Using dot notation for new columns with spaces or special characters
2. Which of the following is the correct syntax to create a new column full_name by combining first_name and last_name columns with a space in between in DataFrame df?
easy
A. df['full_name'] = df['first_name'] + ' ' + df['last_name']
B. df['full_name'] = df['first_name'].append(' ').append(df['last_name'])
C. df['full_name'] = df['first_name'].join(' ', df['last_name'])
D. df['full_name'] = df['first_name'] & ' ' & df['last_name']
Solution
Step 1: Combine string columns with + operator
In pandas, string columns can be combined using the + operator. To add a space, include ' ' between them.
Step 2: Assign the combined string to a new column
Assign the result to df['full_name'] to create the new column.
Multiply each row's price by quantity: 100*2=200, 150*3=450, 200*1=200.
Step 2: Assign result to new column and output it
The new column 'total' will have values [200, 450, 200]. Printing df['total'] shows this list.
Final Answer:
[200, 450, 200] -> Option A
Quick Check:
Element-wise multiply = [200, 450, 200] [OK]
Hint: Multiply columns element-wise for new column [OK]
Common Mistakes:
Adding instead of multiplying columns
Confusing row-wise with column-wise operations
Expecting a scalar instead of a Series output
4. What is wrong with this code that tries to create a new column discounted_price by subtracting 10 from price in DataFrame df?
df.discounted_price = df['price'] - 10
medium
A. It will fail if the column name has spaces or special characters.
B. It will cause a syntax error because of dot notation.
C. It will create a new variable, not a DataFrame column.
D. It will create the column correctly.
Solution
Step 1: Understand dot notation for DataFrame columns
Dot notation df.col = value works to create new columns only if 'col' is a valid Python identifier (no spaces, no special characters).
Step 2: Check the column name 'discounted_price'
'discounted_price' consists of letters and underscores, which is valid. Therefore, the code creates the column correctly.
Final Answer:
It will create the column correctly. -> Option D
Quick Check:
Dot notation works for valid identifiers [OK]
Hint: Use df['col'] if column name has spaces or special chars [OK]
Common Mistakes:
Thinking dot notation fails for valid column names
Confusing DataFrame column assignment with local variable creation
Believing underscores invalidate column names for dot notation
5. You have a DataFrame df with columns score and max_score. You want to create a new column percentage that shows the score as a percentage of max_score, but if max_score is zero, set percentage to None. Which code correctly does this?
hard
A. df['percentage'] = df['score'] / df['max_score'].replace(0, None) * 100