Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Extracting date components (year, month, day) in Data Analysis Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What Python library is commonly used to work with dates and times in data analysis?
The pandas library is commonly used because it has powerful tools to handle dates and times easily.
Click to reveal answer
beginner
How do you extract the year from a pandas datetime column named date?
Use df['date'].dt.year to get the year part from each date in the column.
Click to reveal answer
beginner
What does df['date'].dt.month return?
It returns the month number (1 for January, 2 for February, etc.) for each date in the date column.
Click to reveal answer
beginner
How can you extract the day of the month from a pandas datetime column?
Use df['date'].dt.day to get the day number (1 to 31) from each date.
Click to reveal answer
beginner
Why is it useful to extract year, month, and day from a datetime column?
Extracting these parts helps analyze data by time periods, like grouping sales by year or finding trends by month.
Click to reveal answer
Which pandas attribute extracts the month from a datetime column?
A.dt.month
B.dt.year
C.dt.day
D.dt.hour
What type of data must a pandas column be to use .dt.year?
AString
BFloat
CDatetime
DInteger
If you want to get the day of the month from a datetime column, which code is correct?
Adf['date'].dt.month
Bdf['date'].dt.day
Cdf['date'].dt.year
Ddf['date'].day
What does df['date'].dt.year return?
AYear number
BDay number
CMonth number
DHour number
Why might you extract date parts like year or month from a datetime column?
ATo change the date format
BTo delete the date column
CTo convert dates to strings
DTo analyze data by time periods
Explain how to extract the year, month, and day from a pandas datetime column.
Think about the pandas datetime accessor .dt and its attributes.
You got /4 concepts.
    Describe why extracting date components is helpful in data analysis.
    Consider how time-based patterns are found in data.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the dt.year attribute do when applied to a pandas datetime column?
      easy
      A. Converts the dates to string format
      B. Extracts the month part from each date in the column
      C. Extracts the day part from each date in the column
      D. Extracts the year part from each date in the column

      Solution

      1. Step 1: Understand pandas datetime attributes

        The dt accessor allows extraction of date parts like year, month, day from datetime columns.
      2. Step 2: Identify what dt.year extracts

        dt.year specifically extracts the year component from each datetime value.
      3. Final Answer:

        Extracts the year part from each date in the column -> Option D
      4. Quick Check:

        dt.year = year extraction [OK]
      Hint: Remember: dt.year extracts year, dt.month extracts month [OK]
      Common Mistakes:
      • Confusing dt.year with dt.month or dt.day
      • Thinking dt.year converts to string
      • Using dt.year on non-datetime columns
      2. Which of the following is the correct syntax to extract the month from a pandas datetime column named date_col?
      easy
      A. date_col.dt.month
      B. date_col.month()
      C. date_col['month']
      D. month(date_col)

      Solution

      1. Step 1: Recall pandas datetime accessor usage

        To extract date parts, use the dt accessor followed by the attribute without parentheses.
      2. Step 2: Identify correct syntax for month extraction

        The correct syntax is date_col.dt.month. Parentheses are not used because it's an attribute, not a method.
      3. Final Answer:

        date_col.dt.month -> Option A
      4. Quick Check:

        Use dt.month attribute, no parentheses [OK]
      Hint: Use .dt.month without parentheses to get month [OK]
      Common Mistakes:
      • Adding parentheses like date_col.month()
      • Trying to access month as a dictionary key
      • Using a function month() without import
      3. Given the following code, what will be the output?
      import pandas as pd
      
      dates = pd.Series(pd.to_datetime(['2023-01-15', '2022-12-31', '2024-07-04']))
      months = dates.dt.month
      print(months.tolist())
      medium
      A. [1, 12, 7]
      B. [15, 31, 4]
      C. [2023, 2022, 2024]
      D. ['Jan', 'Dec', 'Jul']

      Solution

      1. Step 1: Understand the input dates and extraction

        The dates are '2023-01-15', '2022-12-31', and '2024-07-04'. Extracting dt.month gets the month numbers: 1, 12, and 7.
      2. Step 2: Convert the extracted months to list

        The tolist() method converts the pandas Series to a Python list: [1, 12, 7].
      3. Final Answer:

        [1, 12, 7] -> Option A
      4. Quick Check:

        Months extracted = [1, 12, 7] [OK]
      Hint: dt.month returns month numbers as integers [OK]
      Common Mistakes:
      • Confusing day with month values
      • Expecting month names instead of numbers
      • Using dt.day instead of dt.month
      4. The following code throws an error. What is the main issue?
      import pandas as pd
      
      dates = pd.Series(['2023-01-15', '2022-12-31'])
      years = dates.dt.year
      print(years)
      medium
      A. print statement syntax is incorrect
      B. dt.year is not a valid attribute
      C. dates is not converted to datetime type before using dt accessor
      D. dates should be a list, not a pandas Series

      Solution

      1. Step 1: Check the data type of dates

        The dates Series contains strings, not datetime objects.
      2. Step 2: Understand dt accessor requirements

        The dt accessor works only on datetime dtype Series. Without conversion, it raises an error.
      3. Final Answer:

        dates is not converted to datetime type before using dt accessor -> Option C
      4. Quick Check:

        Convert strings to datetime before dt.year [OK]
      Hint: Always convert to datetime before using dt attributes [OK]
      Common Mistakes:
      • Forgetting pd.to_datetime conversion
      • Assuming dt.year works on string Series
      • Misreading error as syntax problem
      5. You have a DataFrame df with a datetime column 'order_date'. You want to add three new columns: 'year', 'month', and 'day' extracted from 'order_date'. Which code correctly does this?
      hard
      A. df['year'] = df['order_date'].year df['month'] = df['order_date'].month df['day'] = df['order_date'].day
      B. df['year'] = df['order_date'].dt.year df['month'] = df['order_date'].dt.month df['day'] = df['order_date'].dt.day
      C. df['year'] = df['order_date'].apply(lambda x: x.year) df['month'] = df['order_date'].apply(lambda x: x.month) df['day'] = df['order_date'].apply(lambda x: x.day)
      D. df['year'] = df['order_date'].str.year df['month'] = df['order_date'].str.month df['day'] = df['order_date'].str.day

      Solution

      1. Step 1: Confirm datetime column usage

        To extract date parts efficiently, use the dt accessor on the datetime column.
      2. Step 2: Check each option's method

        df['year'] = df['order_date'].dt.year df['month'] = df['order_date'].dt.month df['day'] = df['order_date'].dt.day uses dt.year, dt.month, and dt.day correctly. df['year'] = df['order_date'].year df['month'] = df['order_date'].month df['day'] = df['order_date'].day tries to access attributes directly on Series, which fails. df['year'] = df['order_date'].apply(lambda x: x.year) df['month'] = df['order_date'].apply(lambda x: x.month) df['day'] = df['order_date'].apply(lambda x: x.day) works but is slower due to apply. df['year'] = df['order_date'].str.year df['month'] = df['order_date'].str.month df['day'] = df['order_date'].str.day incorrectly uses str accessor.
      3. Final Answer:

        df['year'] = df['order_date'].dt.year df['month'] = df['order_date'].dt.month df['day'] = df['order_date'].dt.day -> Option B
      4. Quick Check:

        Use .dt accessor for vectorized date extraction [OK]
      Hint: Use .dt.year, .dt.month, .dt.day for fast extraction [OK]
      Common Mistakes:
      • Accessing year/month/day directly on Series
      • Using .str accessor on datetime columns
      • Using apply unnecessarily slowing code
      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