Примените функцию к каждой строке или столбцу в Dataframe с помощью pandas.apply ()
There are different ways to apply a function to each row or column in DataFrame. We will learn about various ways in this post. Let’s create a small dataframe first and see that.
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Create a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Outputdf |
Выход :

Метод 1. Применение лямбда-функции к каждой строке / столбцу.
Пример 1: для столбца
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Create a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a lambda function to each # column which will add 10 to the valuenew_df = df.apply(lambda x : x + 10) # Outputnew_df |
Выход :

Example 2: For Row
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a lambda function to each # row which will add 5 to the valuenew_df = df.apply(lambda x: x + 5, axis = 1) # Outputnew_df |
Выход :

Метод 2: Применение пользовательской функции к каждой строке / столбцу
Пример 1: для столбца
Python3
# function to returns x*xdef squareData(x): return x * x # import pandas and numpy packagesimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a user defined function to # each column that will square the given# valuenew_df = df.apply(squareData) # Outputnew_df |
Выход :

Example 2: For Row
Python3
# function to returns x*Xdef squareData(x): return x * x # import pandas and numpy libraryimport pandas as pdimport numpy as np # List of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a user defined function # to each row that will square the given valuenew_df = df.apply(squareData, axis = 1) # Outputnew_df |
Выход :

В приведенных выше примерах мы видели, как пользовательская функция применяется к каждой строке и столбцу. Мы также можем применять пользовательские функции, которые принимают два аргумента.
Example 1: For Column
Python3
# function to returns x+ydef addData(x, y): return x + y # import pandas and numpy libraryimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Appling a user defined function to each # column which will add value in each# column by given numbernew_df = df.apply(addData, args = [1]) # Outputprint(new_df) |
Выход :

Example 2: For Row
Python3
# function to returns x+ydef addData(x, y): return x + y # import pandas and numpy libraryimport pandas as pdimport numpy as np # List of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Appling a user defined function to each # row which will add value in each row by# given numbernew_df = df.apply(addData, axis = 1, args = [3]) # Outputnew_df |
Выход :

Method 3: Applying numpy function to each row/column
Example 1: For Column
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # list of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a numpy function to each # column by squaring each value new_df = df.apply(np.square) # Outputnew_df |
Выход :

Example 2: For Row
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # List of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Apply a numpy function to each row# to find square root of each value new_df = df.apply(np.sqrt, axis = 1) # Outputnew_df |
Выход :

Метод 4: применение функции сокращения к каждой строке / столбцу
Функция уменьшения принимает строку или столбец как серию и возвращает либо серию того же размера, что и входная строка / столбец, либо она вернет одну переменную в зависимости от используемой функции.
Example 1: For Column
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # List of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a numpy function to get the sum # of all values in each columnnew_df = df.apply(np.sum) # Outputnew_df |
Выход :

Example 2: For Row
Python3
# import pandas and numpy libraryimport pandas as pdimport numpy as np # List of tuplesmatrix = [(1,2,3,4), (5,6,7,8,), (9,10,11,12), (13,14,15,16) ] # Creating a Dataframe objectdf = pd.DataFrame(matrix, columns = list("abcd")) # Applying a numpy function to get t# he sum of all values in each rownew_df = df.apply(np.sum, axis = 1) # Outputnew_df |
Выход :

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.