Функция 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: Базовое использование — преобразование простых строк
Пример
# Создайте Series, содержащий строки в верхнем регистре
s = pd.Series(['HELLO', 'WORLD', 'EXAMPLE', 'PYTHON'])
# Используйте str.lower() для преобразования всех строк в нижний регистр
result = s.str.lower()
print("Исходный ряд:")
print(s)
print("nConverted result:")
print(result)
Вывод:
原始 Series: 0 HELLO 1 WORLD 2 EXAMPLE 3 PYTHON dtype: object 转换后的结果: 0 hello 1 world 2 example 3 python dtype: object
Пояснение кода:
pd.Series(['HELLO', 'WORLD', 'EXAMPLE', 'PYTHON'])Создан Series, содержащий строки в верхнем регистре.s.str.lower()Используя строковый аксессор.strчтобы вызватьlower()метод, все строки преобразуются в нижний регистр.- Преобразованный результат — это новый Series; исходный Series остаётся неизменным.
Пример 2: Преобразование строк со смешанным регистром
Когда строка содержит символы в смешанном регистре,lower()он преобразует все заглавные буквы в строчные.
Пример
# Создать Series, содержащий строки со смешанным регистром
s = pd.Series(['Hello World', 'EXAMPLE Tutorial', 'PyThOn', 'Pandas'])
# Использовать str.lower() для преобразования в нижний регистр
result = s.str.lower()
print("Исходный ряд:")
print(s)
print("nConverted result:")
print(result)
Вывод:
原始 Series: 0 Hello World 1 EXAMPLE Tutorial 2 PyThOn 3 Pandas dtype: object 转换后的结果: 0 hello world 1 example tutorial 2 python 3 pandas dtype: object
Пояснение кода:
- Независимо от того, сколько заглавных букв содержит строка,
lower()все они будут преобразованы в нижний регистр. - Пробелы, цифры и знаки препинания остаются без изменений.
- Это очень полезно при очистке данных, например для нормализации формата имён, введённых пользователем.
Пример 3: Сравнение без учёта регистра
lower()Это часто используется для реализации сравнения строк без учёта регистра.
Пример
# Создать 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: общие функции