Python | Панды Series.apply ()
Серия Pandas - это одномерный массив ndarray с метками осей. Этикетки не обязательно должны быть уникальными, но должны быть хешируемого типа. Объект поддерживает индексирование как на основе целых чисел, так и на основе меток и предоставляет множество методов для выполнения операций, связанных с индексом.
Pandas Series.apply()
function invoke the passed function on each element of the given series object.
Syntax: Series.apply(func, convert_dtype=True, args=(), **kwds)
Parameter :
func : Python function or NumPy ufunc to apply.
convert_dtype : Try to find better dtype for elementwise function results.
args : Positional arguments passed to func after the series value.
**kwds : Additional keyword arguments passed to func.Returns : Series
Example #1: Use Series.apply()
function to change the city name to ‘Montreal’ if the city is ‘Rio’.
# importing pandas as pd import pandas as pd # Creating the Series sr = pd.Series([ "New York" , "Chicago" , "Toronto" , "Lisbon" , "Rio" ]) # Create the Index index_ = [ "City 1" , "City 2" , "City 3" , "City 4" , "City 5" ] # set the index sr.index = index_ # Print the series print (sr) |
Выход :
Город 1 Нью-Йорк Сити 2 Чикаго Сити 3 Торонто City 4 Лиссабон Сити 5 Рио dtype: объект
Now we will use Series.apply()
function to change the city name to ‘Montreal’ if the city is ‘Rio’.
# change "Rio" to "Montreal" # we have used a lambda function result = sr. apply ( lambda x : "Montreal" if x = = "Rio" else x ) # Print the result print (result) |
Выход :
Город 1 Нью-Йорк Сити 2 Чикаго Сити 3 Торонто City 4 Лиссабон City 5 Монреаль dtype: объект
As we can see in the output, the Series.apply()
function has successfully changed the name of the city to ‘Montreal’.
Example #2 : Use Series.apply()
function to return True if the value in the given series object is greater than 30 else return False.
# importing pandas as pd import pandas as pd # Creating the Series sr = pd.Series([ 11 , 21 , 8 , 18 , 65 , 18 , 32 , 10 , 5 , 32 , None ]) # Create the Index # apply yearly frequency index_ = pd.date_range( "2010-10-09 08:45" , periods = 11 , freq = "Y" ) # set the index sr.index = index_ # Print the series print (sr) |
Выход :
2010-12-31 08:45:00 11.0 2011-12-31 08:45:00 21.0 2012-12-31 08:45:00 8.0 2013-12-31 08:45:00 18.0 2014-12-31 08:45:00 65.0 2015-12-31 08:45:00 18.0 2016-12-31 08:45:00 32.0 2017-12-31 08:45:00 10.0 2018-12-31 08:45:00 5.0 2019-12-31 08:45:00 32.0 2020-12-31 08:45:00 NaN Частота: A-DEC, dtype: float64
Now we will use Series.apply()
function to return True if a value in the given series object is greater than 30 else return False.
# return True if greater than 30 # else return False result = sr. apply ( lambda x : True if x> 30 else False ) # Print the result print (result) |
Выход :
2010-12-31 08:45:00 Ложь 2011-12-31 08:45:00 Ложь 2012-12-31 08:45:00 Ложь 2013-12-31 08:45:00 Ложь 2014-12-31 08:45:00 Верно 2015-12-31 08:45:00 Ложь 2016-12-31 08:45:00 Верно 2017-12-31 08:45:00 Ложь 2018-12-31 08:45:00 Ложь 2019-12-31 08:45:00 Верно 2020-12-31 08:45:00 Ложь Freq: A-DEC, dtype: bool
As we can see in the output, the Series.apply()
function has successfully returned the numpy array representation of the given series object.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.