Computer >> Computer tutorials >  >> Programming >> Python

Apply function to every row in a Pandas DataFrame


By applying a lambda function to each row 

Example

import pandas as pd
df = pd.DataFrame([(10, 3, 13),(0, 42, 11),(26, 52, 1)], columns=list('xyz'))
print("Existing matrix")
print(df)
NewMatrix = df.apply(lambda a: a + 10, axis=1)
print("Modified Matrix")
print(NewMatrix)

Output

Running the above code gives us the following result −

Existing matrix
     x     y     z
0   10     3     13
1    0    42     11
2   26    5      21
Modified Matrix
    x     y     z
0  20    13    23
1  10    52    21
2  36    62    11

By applying a User Defined function

Example

import pandas as pd
def SquareData(x):
return x * x
df = pd.DataFrame([(10, 3, 13), (0, 42, 11), (26, 52, 1)], columns=list('xyz'))
print("Existing matrix")
print(df)
NewMatrix = df.apply(SquareData, axis=1)
print("Modified Matrix")
print(NewMatrix)

Output

Running the above code gives us the following result −

Existing matrix
     x     y     z
0   10     3    13
10  42     1     1
2   26     52    1
Modified Matrix
     x    y     z
0  100    9   169
1    0 1764   121
2  676 2704     1