Функция Pandas Series.str.strip()

Pandas 常用函数Pandas: общие функции


Series.str.strip()Это функция в Pandas, используемая для удаления пробельных символов с обоих концов строк.

При обработке данных нам часто нужно очищать текстовые данные из пользовательского ввода или прочитанные из файлов, которые могут содержать лишние пробелы, табуляции или символы новой строки с обоих концов.strip()Функция может удалять пробельные символы с обоих концов строк, делая данные более чистыми и упорядоченными.

Определение слова:stripОно означает «отслаивать, удалять», и здесь указывает на удаление пробельных символов с обоих концов строк.


Базовый синтаксис и параметры

str.strip()Это строковый аксессор Series, поэтому сначала нужно иметь Series, содержащий строки, а затем использовать.strаксессор, чтобы вызвать его.

Формат синтаксиса

Series.str.strip(to_strip=None)

Описание параметра

Параметр Type Обязательно? Описание Значение по умолчанию
to_strip str Optional Укажите набор символов для удаления. Если не указано, по умолчанию удаляются пробельные символы (включая пробелы, табуляции, символы новой строки и т. д.). None (пробельные символы)

Описание функций

  • Возвращаемое значениеВозвращает новый Series с пробельными символами, удалёнными с обоих концов.
  • ЭффектУдаляет пробельные символы с обоих концов каждого строкового элемента, при этом пробельные символы в середине остаются без изменений.
  • ПримечаниеУдаляет символы только с обоих концов строки; символы в середине не затрагиваются.

Примеры

На серии примеров от простого к сложному давайте тщательно освоимstr.strip()его использование.

Пример 1: Базовое использование - удаление пробельных символов в начале и конце

Пример

import pandas as pd

# Создать Series, содержащий пробельные символы
s = pd.Series([' hello ', 'tworldt', 'nexamplen', ' python '])

# Используйте str.strip() для удаления пробельных символов с обоих концов
result = s.str.strip()

print("Исходный ряд:")
print(repr(s))  # Используйте repr() для отображения необработанных символов (включая невидимые символы)
print(Результат после удаления пробельных символов из n:)
print(result)

Результат вывода:

原始 Series:
0     '  hello  '
1     'tworldt'
2      'nexamplen'
3     '  python  '
dtype: object

去除空白后的结果:
0    hello
1    world
2    example
3    python

Пояснение к коду:

  1. pd.Series([' hello ', ...])Создан Series, содержащий пробельные символы.
  2. repr(s)Используется для отображения исходного содержимого строки, включая невидимые символы, такие как пробелы и табуляции.
  3. s.str.strip()Удалены пробельные символы с обоих концов каждой строки.
  4. Пробельные символы в середине строки остаются без изменений.

Пример 2: Удаление указанных символов

Вы можетеto_stripукажите символы для удаления через параметр.

Пример

import pandas as pd

# Создать Series, содержащий указанные символы
s = pd.Series(['xxxhello xxx', 'yyyworldyyy', 'zzzexamplezzz'])

# Удалить символы 'x' с обоих концов
result_x = s.str.strip('x')
# Удалить символы 'y' с обоих концов
result_y = s.str.strip('y')
# Удалить символы 'z' с обоих концов
result_z = s.str.strip('z')

print("Исходный ряд:")
print(s)
print("nРезультат после удаления 'x':")
print(result_x)
print("nРезультат после удаления 'y':")
print(result_y)
print("nРезультат после удаления 'z':")
print(result_z)

Результат вывода:

原始 Series:
0    xxxhello xxx
1    yyyworldyyy
2    zzzexamplezzz
dtype: object

去除 'x' 后的结果:
0    hello xxx
1    yyyworldyyy
2    zzzexamplezzz

去除 'y' 后的结果:
0    xxxhello xxx
1    worldyyy
2    zzzexamplezzz

去除 'z' 后的结果:
0    xxxhello xxx
1    yyyworldyyy
2    examplezzz

Пояснение к коду:

  • strip('x')Удаляются только символы 'x' на обоих концах строки.
  • Если в середине строки есть такие же символы, они не будут удалены.
  • Удаляются только символы, идущие подряд на обоих концах.

Пример 3: Обработка проблем с пробелами в реальных данных

При обработке данных из файлов или пользовательского ввода,strip()эта функция очень полезна.

Пример

import pandas as pd

# Имитация данных имени пользователя, собранных из формы (может содержать лишние пробелы)
usernames = pd.Series([' admin ', 'user123', ' moderator ', 'guest'])

# cleanupUsername
cleaned_usernames = usernames.str.strip()

print(Исходное имя пользователя:)
print(usernames)
print(nОчищенное имя пользователя:)
print(cleaned_usernames)

# Удалите пробелы перед сравнением
print(n Равны ли они после удаления пробелов:)
print(cleaned_usernames == 'admin')

Результат вывода:

原始用户名:
0       admin
1      user123
2    moderator
3        guest
dtype: object

清理后的用户名:
0       admin
1      user123
2    moderator
3       guest

清理后的用户名:
0     True
1    False
2    False
3    False

Пояснение к коду:

  • strip()Удалены пробелы в начале и конце имён пользователей.
  • Это гарантирует, что введённые пользователем' admin 'могут быть правильно сопоставлены.'admin'。
  • Это важный шаг в очистке данных, который позволяет избежать ошибок сопоставления, вызванных пробелами.

Связанные функции

Pandas также предоставляет другие функции для удаления пробелов:

  • str.lstrip()- Удаляет пробелы только с левой стороны (начала) строки.
  • str.rstrip()- Удаляет пробелы только с правой стороны (конца) строки.

Пример

import pandas as pd

s = pd.Series([' hello world '])

print(Исходная строка:, repr(s[0]))
print("strip():", repr(s.str.strip()[0]))       # Удалить с обоих концов
print("lstrip():", repr(s.str.lstrip()[0]))     # Удалить слева
print("rstrip():", repr(s.str.rstrip()[0]))     # Удалить справа

Результат вывода:

原始字符串: '  hello world  '
strip(): 'hello world'
lstrip(): 'hello world  '
rstrip(): '  hello world'

Примечания

  • str.strip()По умолчанию удаляются пробельные символы, включая пробелы, табуляции (\t), переводы строк (\n), возвраты каретки (\r) и т. д.
  • Эта функция удаляет символы только с обоих концов строки; символы в середине не затрагиваются.
  • Если Series содержит значения NaN,strip()будет возвращено NaN.
  • Эта функция возвращает новый Series и не изменяет исходные данные.

Pandas 常用函数Pandas: общие функции

Другие расширения