Spec-Zone.ru › pandas 0.18

pandas.DataFrame.replace

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)

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

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

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

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

Примечания

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

Spec-Zone.ru

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