Вернуть несколько столбцов с помощью метода Pandas apply ()
Объекты, переданные в pandas.apply (), являются объектами Series, индекс которых является либо индексом DataFrame (ось = 0), либо столбцами DataFrame (ось = 1). По умолчанию (result_type = None) окончательный тип возвращаемого значения выводится из типа возвращаемого значения применяемой функции. В противном случае это зависит от аргумента result_type.
Syntax: DataFrame.apply(func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)
Below are some programs which depicts the use of pandas.DataFrame.apply()
Example 1:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply (numpy.sqrt) |
Выход:
Использование универсальной функции numpy (в данном случае то же, что и numpy.sqrt (dataFrame)).
Example 2:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply (numpy. sum , axis = 0 ) |
Выход:
Использование функции сокращения для столбцов.
Example 3:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply (numpy. sum , axis = 1 ) |
Выход:
Использование функции сокращения для строк.
Example 4:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply ( lambda x: [ 1 , 2 ], axis = 1 ) |
Выход:
Возврат в виде списка приведет к серии.
Example 5:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply ( lambda x: [ 1 , 2 ], axis = 1 , result_type = "expand" ) |
Выход:
Передача result_type = 'expand' расширит результаты в виде списка до столбцов фрейма данных.
Example 6:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply ( lambda x: pandas.Series( [ 1 , 2 ], index = [ "foo" , "bar" ]), axis = 1 ) |
Выход:
Возврат серии внутри функции аналогичен передаче result_type = 'expand'. В результате имена столбцов будут индексом серии.
Example 7:
# Program to illustrate the use of # pandas.DataFrame.apply() method # Importing required Libraries import pandas import numpy # Creating dataframe dataFrame = pandas.DataFrame([[ 4 , 9 ], ] * 3 , columns = [ "A" , "B" ]) print ( "Data Frame:" ) display(dataFrame) # Using pandas.DataFrame.apply() on the data frame print ( "Returning multiple columns from Pandas apply()" ) dataFrame. apply ( lambda x: [ 1 , 2 ], axis = 1 , result_type = "broadcast" ) |
Выход:
Передача result_type = 'broadcast' гарантирует тот же результат формы, независимо от того, возвращает ли функция список или скаляр, и транслирует его по оси. Полученные имена столбцов будут оригиналами.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.