pandas.Panel4D.replace
-
Panel4D.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
-
строка или регулярное выражение:
- строка: строка, точно соответствующая
to_replaceбудет заменена наvalue - регулярное выражение: регулярные выражения, соответствующие
to_replaceбудут заменены наvalue
- строка: строка, точно соответствующая
-
список строк, регулярных выражений или числовых значений:
- Во-первых, если
to_replaceиvalueявляются списками, они должны иметь одинаковую длину. - Во-вторых, если
regex=True, то все строки в обоих списках будут интерпретированы как регулярные выражения, в противном случае они будут соответствовать непосредственно. Это не имеет большого значения дляvalue, так как существует всего несколько возможных подстановочных регулярных выражений, которые вы можете использовать. - Правила для строк и регулярных выражений применяются как и выше.
- Во-первых, если
-
словарь:
- Вложенные словари, например, {‘a’: {‘b’: nan}}, читаются следующим образом: ищем в столбце ‘a’ значение ‘b’ и заменяем его на nan. Вы также можете вкладывать регулярные выражения. Обратите внимание, что имена столбцов (ключи словаря верхнего уровня во вложенном словаре) не могут быть регулярными выражениями.
- Ключи соответствуют именам столбцов, а значения — значениям подстановки. Вы можете рассматривать это как специальный случай передачи двух списков, за исключением того, что вы указываете столбец, в котором нужно искать.
-
None:
- Это означает, что аргумент
regexдолжен быть строкой, скомпилированным регулярным выражением или списком, словарем, массивом ndarray или Series таких элементов. ЕслиvalueтакжеNone, то это должно быть вложенный словарь илиSeries.
- Это означает, что аргумент
Примеры каждого из этих случаев приведены в разделе примеров.
value : скаляр, словарь, список, строка, регулярное выражение, по умолчанию 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.19.2/generated/pandas.Panel4D.replace.html