Spec-Zone.ru › pandas 0.21

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
  • список строк, регулярных выражений или числовых значений:

    • Во-первых, если 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.21.1/generated/pandas.Series.replace.html

Spec-Zone.ru

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