Bird
Raised Fist0
Pandasdata~5 mins

pct_change() for percentage change in Pandas - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the pct_change() function in pandas do?
It calculates the percentage change between the current and a prior element in a pandas Series or DataFrame. This helps to see how much values have increased or decreased in percentage terms.
Click to reveal answer
beginner
How do you calculate the percentage change between rows in a DataFrame using pandas?
Use df.pct_change(). By default, it calculates the percentage change between the current row and the previous row for each column.
Click to reveal answer
intermediate
What does the periods parameter in pct_change() control?
It controls how many rows (or periods) back to compare the current value to. For example, periods=2 compares the current row to the row two steps before.
Click to reveal answer
intermediate
If a value in the previous row is zero, what will pct_change() return for that row?
It will return inf (infinity) or NaN because division by zero is undefined in percentage change calculation.
Click to reveal answer
intermediate
How can you use pct_change() to calculate monthly percentage changes in a time series DataFrame?
Set the DataFrame index to a datetime type and use df.pct_change(periods=1) if data is monthly. For other frequencies, adjust periods accordingly.
Click to reveal answer
What is the default number of periods pct_change() compares when calculating percentage change?
A0
B1
C2
D-1
If a DataFrame column has values [100, 110, 121], what is the percentage change from the first to the second value?
A10%
B11%
C21%
D1%
What will pct_change() return if the previous value is zero?
ANaN or infinity
BNegative value
CZero
DPrevious value
Which pandas object can use pct_change()?
ASeries only
BDataFrame only
CBoth Series and DataFrame
DNeither
How do you calculate percentage change comparing to two rows before in pandas?
Adf.pct_change(periods=1)
Bdf.pct_change(periods=-2)
Cdf.pct_change(periods=0)
Ddf.pct_change(periods=2)
Explain how the pct_change() function works in pandas and give an example of when you might use it.
Think about comparing current and previous values to see growth or decline.
You got /3 concepts.
    Describe how you would handle a situation where the previous value is zero when using pct_change().
    Consider what happens mathematically when dividing by zero.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the pct_change() function in pandas do?
      easy
      A. Calculates the percentage change between consecutive rows.
      B. Calculates the sum of all values in a column.
      C. Sorts the DataFrame by index.
      D. Removes missing values from the DataFrame.

      Solution

      1. Step 1: Understand the purpose of pct_change()

        The pct_change() function calculates how much values change in percentage from one row to the next.
      2. Step 2: Compare with other options

        Options A, B, and C describe different pandas functions unrelated to percentage change.
      3. Final Answer:

        Calculates the percentage change between consecutive rows. -> Option A
      4. Quick Check:

        pct_change() = percentage change [OK]
      Hint: Think: pct_change means percent change between rows [OK]
      Common Mistakes:
      • Confusing pct_change() with sum()
      • Thinking it sorts data
      • Assuming it removes missing values
      2. Which of the following is the correct way to use pct_change() on a pandas DataFrame named df?
      easy
      A. df.pct_change()
      B. pct_change(df)
      C. df.change_pct()
      D. df.percent_change()

      Solution

      1. Step 1: Recall pandas method syntax

        In pandas, pct_change() is a method called on a DataFrame or Series object, so the correct syntax is df.pct_change().
      2. Step 2: Check other options

        Options A, B, and D are not valid pandas syntax or method names.
      3. Final Answer:

        df.pct_change() -> Option A
      4. Quick Check:

        Method called on DataFrame = df.pct_change() [OK]
      Hint: Remember: pandas methods use dot notation like df.method() [OK]
      Common Mistakes:
      • Using pct_change() as a standalone function
      • Mixing method names
      • Using incorrect method names
      3. Given the DataFrame:
      import pandas as pd
      df = pd.DataFrame({'Sales': [100, 120, 150, 180]})
      print(df.pct_change())

      What is the output?
      medium
      A. 0.2, 0.25, 0.2, NaN
      B. 0, 20, 30, 30
      C. NaN, 20, 30, 30
      D. NaN, 0.2, 0.25, 0.2

      Solution

      1. Step 1: Calculate percentage changes row by row

        From 100 to 120: (120-100)/100 = 0.2
        From 120 to 150: (150-120)/120 = 0.25
        From 150 to 180: (180-150)/150 = 0.2
      2. Step 2: Understand first row result

        The first row has no previous row, so result is NaN.
      3. Final Answer:

        NaN, 0.2, 0.25, 0.2 -> Option D
      4. Quick Check:

        pct_change() = NaN, 0.2, 0.25, 0.2 [OK]
      Hint: First row is always NaN; next rows show percent change [OK]
      Common Mistakes:
      • Confusing absolute change with percent change
      • Forgetting first row is NaN
      • Mixing up order of results
      4. What is wrong with this code snippet?
      import pandas as pd
      df = pd.DataFrame({'A': [10, 20, 30]})
      result = df.pct_change(axis=1)
      print(result)
      medium
      A. The DataFrame has no numeric columns.
      B. The code is correct and will run without errors.
      C. pct_change() requires a parameter 'periods' to work.
      D. pct_change() cannot be used with axis=1 on this DataFrame.

      Solution

      1. Step 1: Understand axis parameter in pct_change()

        By default, pct_change() calculates percentage change down rows (axis=0). axis=1 calculates change across columns.
      2. Step 2: Check DataFrame shape and axis=1 effect

        The DataFrame has only one column. pct_change(axis=1) produces NaN values everywhere since there are no multiple columns to compare, but the code runs without errors or exceptions.
      3. Final Answer:

        The code is correct and will run without errors. -> Option B
      4. Quick Check:

        axis=1 on single column = NaN output, no error [OK]
      Hint: axis=1 on single column gives NaN but runs fine [OK]
      Common Mistakes:
      • Thinking axis=1 causes error on single-column DataFrame
      • Believing periods parameter is required
      • Claiming no numeric columns
      5. You have a DataFrame df with daily stock prices:
      import pandas as pd
      df = pd.DataFrame({'Price': [50, 52, 51, 53, 54]})

      You want to calculate the percentage change over 2 days instead of 1. Which code will give the correct result?
      hard
      A. df.pct_change(axis=1)
      B. df.pct_change(periods=1)
      C. df.pct_change(periods=2)
      D. df.pct_change(periods=0)

      Solution

      1. Step 1: Understand the periods parameter

        The periods parameter in pct_change() sets how many rows to look back for percentage change calculation. For 2-day change, use periods=2.
      2. Step 2: Check other options

        df.pct_change(periods=1) calculates 1-day change, df.pct_change(axis=1) uses axis=1 which is incorrect for this data, and df.pct_change(periods=0) computes zero change.
      3. Final Answer:

        df.pct_change(periods=2) -> Option C
      4. Quick Check:

        periods=2 for 2-day change [OK]
      Hint: Use periods=2 to compare with 2 rows before [OK]
      Common Mistakes:
      • Using default periods=1 for 2-day change
      • Using axis=1 incorrectly
      • Setting periods=0 which is invalid
      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