РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
38 of 687 menu

Метод pipe

Метод pipe применяется к DataFrame и позволяет применить пользовательскую функцию к данным. Первым параметром передается функция, которая принимает DataFrame и возвращает преобразованный DataFrame. Метод особенно полезен для создания читаемых цепочек преобразований.

Синтаксис

df.pipe(func, *args, **kwargs)

Пример

Применим функцию для увеличения всех значений в столбце 'a' в два раза:

import pandas as pd def double_a(df): df['a'] = df['a'] * 2 return df df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.pipe(double_a) print(res)

Результат выполнения кода:

a b 0 2 10 1 4 20 2 6 30 3 8 40 4 10 50

Пример

Передадим дополнительные аргументы в функцию:

import pandas as pd def multiply_column(df, column, factor): df[column] = df[column] * factor return df df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.pipe(multiply_column, 'b', 3) print(res)

Результат выполнения кода:

a b 0 1 30 1 2 60 2 3 90 3 4 120 4 5 150

Пример

Создадим цепочку из нескольких преобразований:

import pandas as pd def add_constant(df, value): df['c'] = value return df def square_a(df): df['a'] = df['a'] ** 2 return df df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = (df.pipe(square_a) .pipe(add_constant, 100)) print(res)

Результат выполнения кода:

a b c 0 1 10 100 1 4 20 100 2 9 30 100 3 16 40 100 4 25 50 100

Пример

Используем лямбда-функцию в pipe:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.pipe(lambda x: x[x['a'] > 2]) print(res)

Результат выполнения кода:

a b 2 3 30 3 4 40 4 5 50

Смотрите также

  • метод apply,
    который применяет функцию к строкам или столбцам
  • метод map,
    который применяет функцию к элементам
  • метод query,
    который фильтрует строки по условию
  • метод assign,
    который добавляет новые столбцы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить