These methods work on pandas Series with text data.
They return a new Series with all text converted to lower or upper case.
Examples
Converts all names in the 'Name' column to lowercase.
Pandas
df['Name'].str.lower()
Converts all city names in the 'City' column to uppercase.
Pandas
df['City'].str.upper()
Standardizes email addresses to lowercase for easy matching.
Pandas
df['Email'].str.lower()
Sample Program
This code creates a small table with names and cities. It then changes all names to lowercase and all cities to uppercase. Finally, it prints both results.
If the column has missing values, these methods will keep them as NaN.
These methods do not change the original DataFrame unless you assign the result back.
Summary
str.lower() and str.upper() change text to all lowercase or uppercase.
They help make text comparisons and cleaning easier.
Use them on pandas Series with text data for consistent results.
Practice
(1/5)
1. What does the pandas method str.lower() do when applied to a Series of text data?
easy
A. Converts all characters in the text to lowercase.
B. Converts all characters in the text to uppercase.
C. Removes all spaces from the text.
D. Reverses the order of characters in the text.
Solution
Step 1: Understand the method purpose
The str.lower() method changes all letters in text to lowercase.
Step 2: Compare with other options
Other options describe different actions like uppercase, removing spaces, or reversing text, which are not what str.lower() does.
Final Answer:
Converts all characters in the text to lowercase. -> Option A
Quick Check:
str.lower() = lowercase conversion [OK]
Hint: Lowercase means all letters small [OK]
Common Mistakes:
Confusing str.lower() with str.upper()
Thinking it removes spaces
Assuming it reverses text
2. Which of the following is the correct way to convert a pandas Series named names to uppercase?
easy
A. names.str.upper()
B. str.upper(names)
C. names.upper()
D. names.str.upper
Solution
Step 1: Recall pandas string method syntax
To apply string methods on a pandas Series, use Series.str.method() syntax.
Step 2: Check each option
names.str.upper() uses names.str.upper(), which is correct. names.upper() misses .str, str.upper(names) is incorrect function call, names.str.upper misses parentheses.
Final Answer:
names.str.upper() -> Option A
Quick Check:
Use .str.upper() on Series [OK]
Hint: Use .str before string methods on Series [OK]
Common Mistakes:
Calling upper() directly on Series without .str
Forgetting parentheses after method
Using str.upper() as a standalone function
3. Given the pandas Series data = pd.Series(['Apple', 'Banana', 'Cherry']), what is the output of data.str.lower()?
medium
A. ['Apple', 'Banana', 'Cherry']
B. ['APPLE', 'BANANA', 'CHERRY']
C. ['apple', 'banana', 'cherry']
D. ['aPPLE', 'bANANA', 'cHERRY']
Solution
Step 1: Understand the input Series
The Series contains capitalized fruit names: 'Apple', 'Banana', 'Cherry'.
Step 2: Apply str.lower() method
This method converts all letters to lowercase, so each word becomes fully lowercase.
Final Answer:
['apple', 'banana', 'cherry'] -> Option C
Quick Check:
str.lower() makes all letters lowercase [OK]
Hint: str.lower() makes all letters small [OK]
Common Mistakes:
Expecting original case to remain
Confusing with str.upper() output
Thinking only first letter changes
4. What is wrong with this code snippet to convert a pandas Series cities to uppercase?
B. The code should use cities.upper without parentheses.
C. Series cannot be converted to uppercase.
D. Method upper() should be called as cities.str.upper().
Solution
Step 1: Identify method usage on Series
String methods like upper() must be called with .str accessor on pandas Series.
Step 2: Check the code
The code uses cities.upper() which is invalid; correct is cities.str.upper().
Final Answer:
Method upper() should be called as cities.str.upper(). -> Option D
Quick Check:
Use .str.upper() on Series [OK]
Hint: Use .str before string methods on Series [OK]
Common Mistakes:
Calling upper() directly on Series
Forgetting .str accessor
Removing parentheses from method call
5. You have a pandas DataFrame df with a column 'Product' containing mixed case product names. You want to create a new column 'Product_Upper' with all names in uppercase. Which code correctly does this?
hard
A. df['Product_Upper'] = df['Product'].upper()
B. df['Product_Upper'] = df['Product'].str.upper()
C. df['Product_Upper'] = str.upper(df['Product'])
D. df['Product_Upper'] = df['Product'].str.lower()
Solution
Step 1: Understand the DataFrame and goal
The goal is to create a new column with uppercase product names from an existing column.
Step 2: Apply correct method for uppercase conversion
Use .str.upper() on the Series to convert text to uppercase correctly.
Step 3: Check options
df['Product_Upper'] = df['Product'].str.upper() uses correct syntax. df['Product_Upper'] = df['Product'].upper() misses .str, df['Product_Upper'] = str.upper(df['Product']) uses wrong function call, df['Product_Upper'] = df['Product'].str.lower() converts to lowercase, not uppercase.
Final Answer:
df['Product_Upper'] = df['Product'].str.upper() -> Option B
Quick Check:
Use .str.upper() to uppercase Series text [OK]
Hint: Use .str.upper() to convert Series text uppercase [OK]
Common Mistakes:
Calling upper() without .str
Using str.upper() as a function on Series
Confusing upper() with lower()
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.