Bird
Raised Fist0
Pandasdata~5 mins

Feature engineering basics in Pandas - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is feature engineering in data science?
Feature engineering is the process of creating new input variables or modifying existing ones to improve a machine learning model's performance.
Click to reveal answer
beginner
Why is feature engineering important?
It helps models learn better by providing more meaningful or clearer information, often leading to improved accuracy and insights.
Click to reveal answer
beginner
Name three common feature engineering techniques.
1. Creating new features by combining existing ones (e.g., ratios)
2. Encoding categorical variables (e.g., one-hot encoding)
3. Scaling or normalizing numerical features
Click to reveal answer
beginner
How can you create a new feature in pandas?
You can create a new column by performing operations on existing columns, for example: df['new_feature'] = df['A'] + df['B'].
Click to reveal answer
beginner
What is one-hot encoding and when do you use it?
One-hot encoding converts categorical variables into multiple binary columns (0 or 1) to help models understand categories as numbers without implying order.
Click to reveal answer
Which of the following is NOT a feature engineering technique?
ACreating new features from existing data
BRemoving missing values
CEncoding categorical variables
DScaling numerical features
In pandas, how do you create a new feature 'total' by adding columns 'A' and 'B'?
Adf['total'] = df['A'] + df['B']
Bdf.total = df.A + df.B
Cdf.add('total', df['A'], df['B'])
Ddf['total'] = df['A'] * df['B']
What does one-hot encoding do?
AConverts numerical data into categories
BScales features between 0 and 1
CTurns categorical variables into binary columns
DRemoves duplicate rows
Why might you create a new feature like 'age_group' from 'age'?
ATo group continuous data into meaningful categories
BTo remove outliers
CTo reduce the number of missing values
DTo encode text data
Which pandas function helps to scale numerical features?
Adf.drop_duplicates()
Bdf.fillna()
Cpd.get_dummies()
Dsklearn.preprocessing.StandardScaler()
Explain what feature engineering is and why it matters in simple terms.
Think about how changing or adding data columns can help a model learn better.
You got /3 concepts.
    Describe how you would create a new feature in a pandas DataFrame using existing columns.
    Remember the syntax for adding a new column in pandas.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of feature engineering in pandas?
      easy
      A. To create new useful columns from existing data
      B. To delete unnecessary rows from the dataset
      C. To change the data type of columns
      D. To visualize data using charts

      Solution

      1. Step 1: Understand feature engineering definition

        Feature engineering means creating new columns that help models learn better.
      2. Step 2: Compare options with definition

        Only To create new useful columns from existing data matches the purpose of creating new useful columns from existing data.
      3. Final Answer:

        To create new useful columns from existing data -> Option A
      4. Quick Check:

        Feature engineering = create new columns [OK]
      Hint: Feature engineering = making new columns from old data [OK]
      Common Mistakes:
      • Confusing feature engineering with data cleaning
      • Thinking it only changes data types
      • Mixing it up with data visualization
      2. Which of the following is the correct way to create a new column total as sum of columns 2a and 2b in a pandas DataFrame df?
      easy
      A. df['total'] <- df['2a'] + df['2b']
      B. df.total = df.2a + df.2b
      C. df['total'] == df['2a'] + df['2b']
      D. df['total'] = df['2a'] + df['2b']

      Solution

      1. Step 1: Recall pandas syntax for new column

        Use df['new_col'] = expression to create new columns.
      2. Step 2: Check each option

        df['total'] = df['2a'] + df['2b'] uses correct syntax. df.total = df.2a + df.2b misses brackets, A uses wrong operator, D uses comparison operator.
      3. Final Answer:

        df['total'] = df['2a'] + df['2b'] -> Option D
      4. Quick Check:

        New column = df['col'] = ... [OK]
      Hint: Use df['col'] = ... to add new columns [OK]
      Common Mistakes:
      • Using == instead of = for assignment
      • Using <- which is not Python syntax
      • Accessing columns without brackets
      3. Given the DataFrame df below, what will be the output of df['age_group'] after this code?
      import pandas as pd
      df = pd.DataFrame({'age': [15, 22, 37, 45]})
      df['age_group'] = pd.cut(df['age'], bins=[0, 18, 35, 60], labels=['child', 'young_adult', 'adult'])
      medium
      A. [child, young_adult, young_adult, adult]
      B. [child, child, young_adult, adult]
      C. [child, young_adult, adult, adult]
      D. [child, young_adult, adult, young_adult]

      Solution

      1. Step 1: Understand pd.cut bins and labels

        Bins: 0-18 = child, 18-35 = young_adult, 35-60 = adult.
      2. Step 2: Assign each age to bin

        15 -> child, 22 -> young_adult, 37 -> adult, 45 -> adult.
      3. Final Answer:

        [child, young_adult, adult, adult] -> Option C
      4. Quick Check:

        Age 37 and 45 fall in adult bin [OK]
      Hint: Match values to bins to find labels [OK]
      Common Mistakes:
      • Misunderstanding bin edges (inclusive/exclusive)
      • Assigning wrong labels to ages
      • Confusing order of labels
      4. What is wrong with this code to create a new column year from a datetime column date in DataFrame df?
      df['year'] = df['date'].year
      medium
      A. There is no error; the code is correct
      B. You must use dt.year to access year from datetime column
      C. You should use df.year = df.date.year instead
      D. The column date must be converted to string first

      Solution

      1. Step 1: Recall how to extract year from datetime column

        Use df['date'].dt.year to get year from pandas datetime column.
      2. Step 2: Identify error in code

        Code uses df['date'].year which is invalid; .year is not attribute of Series.
      3. Final Answer:

        You must use dt.year to access year from datetime column -> Option B
      4. Quick Check:

        Use df['date'].dt.year for datetime year [OK]
      Hint: Use .dt accessor for datetime column parts [OK]
      Common Mistakes:
      • Using .year directly on Series instead of .dt.year
      • Converting datetime to string unnecessarily
      • Assigning to df.year instead of df['year']
      5. You have a DataFrame df with columns height_cm and weight_kg. You want to create a new feature bmi using the formula bmi = weight_kg / (height_m)^2, where height in meters is height_cm divided by 100. Which code correctly creates the bmi column?
      hard
      A. df['bmi'] = df['weight_kg'] / (df['height_cm'] / 100) ** 2
      B. df['bmi'] = df['weight_kg'] / df['height_cm'] ** 2 / 10000
      C. df['bmi'] = df['weight_kg'] * (df['height_cm'] / 100) ** 2
      D. df['bmi'] = df['weight_kg'] / (df['height_cm'] * 100) ** 2

      Solution

      1. Step 1: Convert height from cm to meters

        Height in meters = height_cm / 100.
      2. Step 2: Apply BMI formula correctly

        BMI = weight_kg / (height_m)^2 = weight_kg / (height_cm / 100)^2.
      3. Step 3: Check each option

        df['bmi'] = df['weight_kg'] / (df['height_cm'] / 100) ** 2 matches formula exactly. Others have wrong operations or units.
      4. Final Answer:

        df['bmi'] = df['weight_kg'] / (df['height_cm'] / 100) ** 2 -> Option A
      5. Quick Check:

        BMI formula with height in meters = weight / height² [OK]
      Hint: Divide height_cm by 100 before squaring for BMI [OK]
      Common Mistakes:
      • Forgetting to convert cm to meters
      • Multiplying instead of dividing
      • Incorrect order of operations
      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