Spec-Zone.ru › pandas 0.19

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

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

Spec-Zone.ru

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