Pandas.apply enable the clients to pass a capacity and apply it on each and every estimation of the Pandas arrangement. It comes as a colossal improvement for the pandas library as this capacity isolates information as indicated by the conditions required because of which it is productively utilized in information science and AI.
Establishment:
pip install pandas
Import the Pandas module into the python record utilizing the accompanying directions on the terminal:
import pandas as pd
s = pd.read_csv(“stock.csv”, squeeze=True)
Syntax:
s.apply(func, convert_dtype=True, args=())
Parameters:
func: .apply takes a function and applies it to all values of pandas series.
convert_dtype: Convert dtype as per the function’s operation.
args=(): Additional arguments to pass to function instead of series.
Return Type: Pandas Series after applied function/operation.
Example #1:
The following example passes a function and checks the value of each element in series and returns low, normal or High accordingly.
import pandas as pd
# reading csv
s = pd.read_csv(“stock.csv”, squeeze = True)
# defining function to check price
def fun(num):
if num<200:
return “Low”
elif num>= 200 and num<400:
return “Normal”
else:
return “High”
# passing function to apply and storing returned series in new
new = s.apply(fun)
# printing first 3 element
print(new.head(3))
# printing elements somewhere near the middle of series
print(new[1400], new[1500], new[1600])
# printing last 3 elements
print(new.tail(3))
Output
Example 2
In the following example, a temporary anonymous function is made in .apply itself using lambda. It adds 5 to each value in series and returns a new series.
import pandas as pd
s = pd.read_csv(“stock.csv”, squeeze = True)
# adding 5 to each value
new = s.apply(lambda num : num + 5)
# printing first 5 elements of old and new series
print(s.head(), ‘\n’, new.head())
# printing last 5 elements of old and new series
print(‘\n\n’, s.tail(), ‘\n’, new.tail())
Output:
0 50.12
1 54.10
2 54.65
3 52.38
4 52.95
Name: Stock Price, dtype: float64
0 55.12
1 59.10
2 59.65
3 57.38
4 57.95
Name: Stock Price, dtype: float64
3007 772.88
3008 771.07
3009 773.18
3010 771.61
3011 782.22
Name: Stock Price, dtype: float64
3007 777.88
3008 776.07
3009 778.18
3010 776.61
3011 787.22
Name: Stock Price, dtype: float64