Bird
Raised Fist0
Data Analysis Pythondata~10 mins

Changing data types (astype) in Data Analysis Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to convert the 'age' column to integer type.

Data Analysis Python
df['age'] = df['age'].[1](int)
Drag options to blanks, or click blank then click option'
Aastype
Bconvert
Cchange_type
Dto_int
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-existent method like 'convert' or 'to_int'.
Trying to assign the type directly without a method.
2fill in blank
medium

Complete the code to convert the 'price' column to float type.

Data Analysis Python
df['price'] = df['price'].[1](float)
Drag options to blanks, or click blank then click option'
Aconvert
Bastype
Cto_float
Dchange_type
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'to_float' which is not a pandas method.
Trying to convert without using a method.
3fill in blank
hard

Fix the error in the code to convert the 'date' column to string type.

Data Analysis Python
df['date'] = df['date'].[1](str)
Drag options to blanks, or click blank then click option'
Achange_type
Bconvert
Cto_string
Dastype
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'to_string' which is not a pandas method for type conversion.
Using 'convert' or 'change_type' which do not exist.
4fill in blank
hard

Fill both blanks to convert the 'score' column to float and then to string.

Data Analysis Python
df['score'] = df['score'].[1](float).[2](str)
Drag options to blanks, or click blank then click option'
Aastype
Bconvert
Cto_string
Dchange_type
Attempts:
3 left
💡 Hint
Common Mistakes
Using different methods for each conversion.
Using non-existent methods like 'convert' or 'to_string'.
5fill in blank
hard

Fill all three blanks to create a new column 'age_str' by converting 'age' to string after converting to float.

Data Analysis Python
df['age_str'] = df['age'].[1](int).[2](float).[3](str)
Drag options to blanks, or click blank then click option'
Aastype
Bconvert
Cto_string
Dchange_type
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing different methods for conversion.
Using methods that do not exist in pandas.

Practice

(1/5)
1. What does the astype() method do in pandas?
easy
A. It filters rows based on a condition.
B. It changes the data type of a DataFrame column.
C. It sorts the DataFrame by column values.
D. It merges two DataFrames together.

Solution

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

    The astype() method is used to convert the data type of a pandas Series or DataFrame column.
  2. Step 2: Compare with other options

    Filtering, sorting, and merging are different pandas operations and not related to changing data types.
  3. Final Answer:

    It changes the data type of a DataFrame column. -> Option B
  4. Quick Check:

    astype() changes data types [OK]
Hint: Remember: astype() changes column types directly [OK]
Common Mistakes:
  • Confusing astype() with filtering or sorting methods
  • Thinking astype() merges DataFrames
  • Assuming astype() modifies values instead of types
2. Which of the following is the correct syntax to convert a pandas column named 'age' to integer type?
easy
A. astype(df['age'], int)
B. df.astype['age'](int)
C. df['age'].convert(int)
D. df['age'].astype(int)

Solution

  1. Step 1: Recall correct method call syntax

    The astype() method is called on the Series object like df['age'].astype(int).
  2. Step 2: Check other options for syntax errors

    df.astype['age'](int) uses wrong bracket placement, C uses a non-existent method, and D uses wrong function call style.
  3. Final Answer:

    df['age'].astype(int) -> Option D
  4. Quick Check:

    Correct syntax is Series.astype(type) [OK]
Hint: Use dot notation on column, then astype(type) [OK]
Common Mistakes:
  • Using wrong brackets or parentheses
  • Calling astype on DataFrame instead of Series
  • Using non-existent methods like convert()
3. Given the DataFrame:
import pandas as pd
df = pd.DataFrame({'score': ['10', '20', '30']})
df['score'] = df['score'].astype(int)
print(df.dtypes)

What will be the output?
medium
A. score int64 dtype: int64
B. score object dtype: object
C. score int32 dtype: int32
D. score int64 dtype: object

Solution

  1. Step 1: Understand the initial data type

    The 'score' column starts as strings (object type) because values are in quotes.
  2. Step 2: Apply astype(int) conversion

    Using astype(int) converts the column to integer type, which pandas shows as int64.
  3. Step 3: Check the printed dtypes output

    The output shows the column name and its type, followed by dtype info. The correct output is:
    score int64
    dtype: int64
  4. Final Answer:

    score int64 dtype: int64 -> Option A
  5. Quick Check:

    astype(int) converts to int64 dtype [OK]
Hint: astype(int) changes string numbers to int64 type [OK]
Common Mistakes:
  • Expecting dtype to be 'object' after conversion
  • Confusing dtype display format
  • Thinking astype changes values, not type
4. What error will occur if you try to convert a pandas column with non-numeric strings to integer using astype(int)?
medium
A. KeyError: column not found
B. TypeError: unsupported operand type(s)
C. ValueError: invalid literal for int() with base 10
D. No error, conversion succeeds

Solution

  1. Step 1: Understand what astype(int) expects

    The method expects values that can be converted to integers, like numeric strings or numbers.
  2. Step 2: Consider non-numeric strings

    If the column contains strings like 'abc', conversion to int is impossible and raises a ValueError.
  3. Step 3: Identify the error message

    The error message is: ValueError: invalid literal for int() with base 10.
  4. Final Answer:

    ValueError: invalid literal for int() with base 10 -> Option C
  5. Quick Check:

    Non-numeric strings cause ValueError on astype(int) [OK]
Hint: Non-numeric strings cause ValueError on int conversion [OK]
Common Mistakes:
  • Expecting silent failure or automatic conversion
  • Confusing ValueError with TypeError
  • Thinking KeyError relates to conversion
5. You have a DataFrame with a column 'price' containing numbers as strings with dollar signs, like '$100', '$250'. How do you convert this column to float type for calculations?
hard
A. df['price'] = df['price'].str.replace('$', '').astype(float)
B. df['price'] = df['price'].astype(float)
C. df['price'] = df['price'].replace('$', '').astype(float)
D. df['price'] = df['price'].astype(str).astype(float)

Solution

  1. Step 1: Remove dollar signs from strings

    Dollar signs prevent direct conversion to float. Use str.replace('$', '') to remove them.
  2. Step 2: Convert cleaned strings to float

    After removing '$', use astype(float) to convert the column to float type.
  3. Step 3: Check other options

    df['price'] = df['price'].astype(float) tries to convert without removing '$' causing error. df['price'] = df['price'].replace('$', '').astype(float) uses replace without str accessor, which won't work on strings. df['price'] = df['price'].astype(str).astype(float) converts to string again unnecessarily.
  4. Final Answer:

    df['price'] = df['price'].str.replace('$', '').astype(float) -> Option A
  5. Quick Check:

    Remove symbols first, then astype(float) [OK]
Hint: Remove symbols with str.replace before astype(float) [OK]
Common Mistakes:
  • Trying to convert strings with symbols directly
  • Using replace without str accessor on strings
  • Double converting types unnecessarily
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