Spec-Zone.ru › pandas 0.22

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 : логическое значение, по умолчанию 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

Примечания

  • Замена с использованием регулярных выражений выполняется под капотом с помощью 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.22.0/generated/pandas.DataFrame.replace.html

Spec-Zone.ru

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