Spec-Zone.ru › pandas 0.20

pandas.DataFrame.replace

DataFrame.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 , то все строки в обоих списках будут интерпретироваться как regex, в противном случае они будут соответствовать непосредственно. Это не так важно для value так как там всего несколько возможных подстановочных regex.
    • правила для строк и regex применяются как выше.
  • словарь:

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

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

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

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

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

inplace : boolean, по умолчанию 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 не может быть скомпилирован в регулярное выражение или является списком, словарем, ndarray или Series.

ValueError

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

См. также

NDFrame.reindex, NDFrame.asfreq, NDFrame.fillna

Примечания

  • Замена с помощью regex выполняется под капотом с помощью 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.DataFrame.replace.html

Spec-Zone.ru

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