Pandas Series.str.lower() 函数
Series.str.lower() 是 Pandas 中用于将字符串转换为小写的函数。
在数据处理过程中,我们经常需要统一字符串的大小写格式,比如将用户输入的名称、地址等转换为小写,以便进行统一的比较和查找。lower() 函数可以将 Series 中的所有字符串转换为小写形式。
单词释义:lower 是"降低、变小"的意思,在这里表示将字母转换为小写。
基本语法与参数
str.lower() 是 Series 的字符串访问器方法,因此你需要先有一个包含字符串的 Series,然后通过 .str 访问器来调用它。
语法格式
Series.str.lower()
参数说明
- 参数:无参数。该函数不需要任何参数,直接调用即可。
函数说明
- 返回值:返回一个包含小写字符串的 Series,新 Series 的长度与原 Series 相同。
- 效果:将 Series 中的每个字符串元素转换为小写形式,非字符串元素保持不变。
- 注意:该函数只对字母字符进行转换,数字、标点符号等其他字符保持不变。
实例
让我们通过一系列从简单到复杂的例子,彻底掌握 str.lower() 的用法。
示例 1:基础用法 - 转换简单字符串
实例
import pandas as pd
# 创建一个包含大写字符串的 Series
s = pd.Series(['HELLO', 'WORLD', 'RUNOOB', 'PYTHON'])
# 使用 str.lower() 将所有字符串转换为小写
result = s.str.lower()
print("原始 Series:")
print(s)
print("n转换后的结果:")
print(result)
# 创建一个包含大写字符串的 Series
s = pd.Series(['HELLO', 'WORLD', 'RUNOOB', 'PYTHON'])
# 使用 str.lower() 将所有字符串转换为小写
result = s.str.lower()
print("原始 Series:")
print(s)
print("n转换后的结果:")
print(result)
输出结果:
原始 Series: 0 HELLO 1 WORLD 2 RUNOOB 3 PYTHON dtype: object 转换后的结果: 0 hello 1 world 2 runoob 3 python dtype: object
代码解析:
pd.Series(['HELLO', 'WORLD', 'RUNOOB', 'PYTHON'])创建了一个包含大写字符串的 Series。s.str.lower()通过字符串访问器.str调用lower()方法,将所有字符串转换为小写。- 转换后的结果是一个新的 Series,原 Series 保持不变。
示例 2:混合大小写字符串转换
当字符串中包含大小写混合的字符时,lower() 会将所有大写字母转换为小写。
实例
import pandas as pd
# 创建一个包含混合大小写字符串的 Series
s = pd.Series(['Hello World', 'RUNOOB Tutorial', 'PyThOn', 'Pandas'])
# 使用 str.lower() 转换为小写
result = s.str.lower()
print("原始 Series:")
print(s)
print("n转换后的结果:")
print(result)
# 创建一个包含混合大小写字符串的 Series
s = pd.Series(['Hello World', 'RUNOOB Tutorial', 'PyThOn', 'Pandas'])
# 使用 str.lower() 转换为小写
result = s.str.lower()
print("原始 Series:")
print(s)
print("n转换后的结果:")
print(result)
输出结果:
原始 Series: 0 Hello World 1 RUNOOB Tutorial 2 PyThOn 3 Pandas dtype: object 转换后的结果: 0 hello world 1 runoob tutorial 2 python 3 pandas dtype: object
代码解析:
- 无论字符串中包含多少个大写字母,
lower()都会将它们全部转换为小写。 - 空格、数字和标点符号保持不变。
- 这在数据清洗时非常有用,比如统一用户输入的名称格式。
示例 3:大小写不敏感的比较
lower() 经常用于实现大小写不敏感的字符串比较。
实例
import pandas as pd
# 创建产品名称 Series
products = pd.Series(['Apple', 'BANANA', 'Orange', 'Grape'])
# 用户输入的搜索关键词(可能是任意大小写)
search_keyword = 'BANANA'
# 将两边都转换为小写进行不区分大小写的比较
matches = products.str.lower() == search_keyword.lower()
print("产品列表:")
print(products)
print(f"n搜索关键词: {search_keyword}")
print("匹配结果:")
print(products[matches])
# 创建产品名称 Series
products = pd.Series(['Apple', 'BANANA', 'Orange', 'Grape'])
# 用户输入的搜索关键词(可能是任意大小写)
search_keyword = 'BANANA'
# 将两边都转换为小写进行不区分大小写的比较
matches = products.str.lower() == search_keyword.lower()
print("产品列表:")
print(products)
print(f"n搜索关键词: {search_keyword}")
print("匹配结果:")
print(products[matches])
输出结果:
产品列表: 0 Apple 1 BANANA 2 Orange 3 Grape dtype: object 搜索关键词: BANANA 匹配结果: 1 BANANA dtype: object
代码解析:
products.str.lower()将产品名称转换为小写。search_keyword.lower()将搜索关键词也转换为小写。- 通过比较两个小写字符串,实现了不区分大小写的匹配。
注意事项
str.lower()只会转换字母字符,数字、空格、标点符号等非字母字符保持不变。- 如果 Series 中包含非字符串元素(如 NaN、整数等),
lower()会保持原样,不会抛出错误。 - 该函数返回一个新的 Series,不会修改原始数据。
- 对于中文字符串,中文字符不受影响,因为中文没有大小写之分。

Pandas 常用函数