Spec-Zone.ru › pandas 0.21

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
  • список str, regex или числовых значений:

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

    • Вложенные словари, например, {‘a’: {‘b’: nan}}, читаются следующим образом: ищите в столбце ‘a’ значение ‘b’ и замените его на 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.21.1/generated/pandas.DataFrame.replace.html

Spec-Zone.ru

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