Spec-Zone.ru › pandas 0.20

pandas.Series.replace

Series.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None) [source]

Замена значений, указанных в ‘to_replace’, на ‘value’.

Параметры:

to_replace : str, regex, список, словарь, Series, числовое значение или None

  • str или regex:

    • str: строка, точно совпадающая с to_replace, будет заменена на value
    • regex: регулярные выражения, совпадающие с to_replace, будут заменены на value
  • список строк, regex или числовых значений:

    • Во-первых, если to_replace и value являются списками, их длина должна быть одинаковой.
    • Во-вторых, если regex=True , то все строки в обоих списках будут интерпретироваться как регулярные выражения, в противном случае они будут соответствовать напрямую. Это не имеет большого значения для value, так как существует лишь несколько возможных подстановочных регулярных выражений, которые вы можете использовать.
    • Правила для строк и регулярных выражений применяются как выше.
  • словарь:

    • Вложенные словари, например, {‘a’: {‘b’: nan}}, читаются следующим образом: поиск в столбце ‘a’ значения ‘b’ и замена его на nan. Вы также можете вкладывать регулярные выражения. Обратите внимание, что имена столбцов (ключи словаря верхнего уровня во вложенном словаре) не могут быть регулярными выражениями.
    • Ключи сопоставляются с именами столбцов, а значения — со значениями подстановки. Вы можете рассматривать это как частный случай передачи двух списков, за исключением того, что вы указываете столбец для поиска.
  • None:

    • Это означает, что аргумент regex должен быть строкой, скомпилированным регулярным выражением или списком, словарем, массивом NumPy или Series таких элементов. Если value также None, то это должен быть вложенный словарь или Series.

Примеры каждого из этих вариантов приведены в разделе примеров.

value : скаляр, словарь, список, строка, регулярное выражение, по умолчанию None

Значение для заполнения пропусков (например, 0), или словарь значений, определяющий значение для каждого столбца (столбцы, не входящие в словарь, не будут заполнены). Разрешены также регулярные выражения, строки и списки или словари таких объектов.

inplace : логическое значение, по умолчанию False

Если True, то замена выполняется на месте. Обратите внимание: это изменит любые другие представления этого объекта (например, столбец из DataFrame). Возвращает вызывающую функцию, если это True.

limit : целое число, по умолчанию None

Максимальный размер пропусков для заполнения вперед или назад

regex : bool или того же типа, что и to_replace, по умолчанию False

Указывает, следует ли интерпретировать to_replace и/или value как регулярные выражения. Если это True, то to_replace должен быть строкой. В противном случае, to_replace должен быть None, поскольку этот параметр будет интерпретироваться как регулярное выражение или список, словарь или массив регулярных выражений.

method : строка, необязательный, {‘pad’, ‘ffill’, ‘bfill’}

Метод для использования при замене, когда to_replace является list.

Возвращаемое значение:

filled : NDFrame

Исключения:

AssertionError

  • Если regex не является bool и to_replace не является None.

TypeError

  • Если to_replace является dict и value не является list, dict, ndarray, или Series
  • Если to_replace является None и regex нельзя скомпилировать в регулярное выражение или является списком, словарем, массивом NumPy или Series.

ValueError

  • Если to_replace и value являются list или ndarray , но их длина не совпадает.

См. также

NDFrame.reindex, NDFrame.asfreq, NDFrame.fillna

Примечания

  • Замена с использованием регулярных выражений выполняется под капотом с помощью re.sub. Правила замены для re.sub такие же.
  • Замена регулярных выражений выполняется только для строк, то есть вы не можете, например, указать регулярное выражение, сопоставляющее числа с плавающей точкой, и ожидать, что столбцы в вашей таблице, имеющие числовой тип данных, будут сопоставлены. Однако, если эти числа с плавающей точкой являются строками, вы можете это сделать.
  • У этого метода много опций. Рекомендуется экспериментировать и использовать этот метод, чтобы понять, как он работает.

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.20.3/generated/pandas.Series.replace.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API