La serie Pandas es un ndarray unidimensional con etiquetas de eje. No es necesario que las etiquetas sean únicas, pero deben ser de tipo hashable. El objeto admite la indexación basada en enteros y etiquetas y proporciona una gran cantidad de métodos para realizar operaciones relacionadas con el índice.
La función Pandas Series.apply()
invoca la función pasada en cada elemento del objeto de serie dado.
Sintaxis: Series.apply(func, convert_dtype=True, args=(), **kwds)
Parámetro:
func: función de Python o NumPy ufunc para aplicar.
convert_dtype: intente encontrar un mejor dtype para los resultados de la función elementwise.
args : Argumentos posicionales pasados a func después del valor de la serie.
**kwds: Argumentos de palabra clave adicionales pasados a func.Devoluciones : Serie
Ejemplo #1: Use Series.apply()
la función para cambiar el nombre de la ciudad a ‘Montreal’ si la ciudad es ‘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)
Producción :
City 1 New York City 2 Chicago City 3 Toronto City 4 Lisbon City 5 Rio dtype: object
Ahora usaremos Series.apply()
la función para cambiar el nombre de la ciudad a ‘Montreal’ si la ciudad es ‘Río’.
# 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)
Producción :
City 1 New York City 2 Chicago City 3 Toronto City 4 Lisbon City 5 Montreal dtype: object
Como podemos ver en la salida, la Series.apply()
función ha cambiado con éxito el nombre de la ciudad a ‘Montreal’.
Ejemplo n.º 2: use Series.apply()
la función para devolver True si el valor en el objeto de la serie dado es mayor que 30; de lo contrario, devuelva 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)
Producción :
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 Freq: A-DEC, dtype: float64
Ahora usaremos Series.apply()
la función para devolver True si un valor en el objeto de serie dado es mayor que 30; de lo contrario, devolverá 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)
Producción :
2010-12-31 08:45:00 False 2011-12-31 08:45:00 False 2012-12-31 08:45:00 False 2013-12-31 08:45:00 False 2014-12-31 08:45:00 True 2015-12-31 08:45:00 False 2016-12-31 08:45:00 True 2017-12-31 08:45:00 False 2018-12-31 08:45:00 False 2019-12-31 08:45:00 True 2020-12-31 08:45:00 False Freq: A-DEC, dtype: bool
Como podemos ver en el resultado, la Series.apply()
función ha devuelto con éxito la representación de array numpy del objeto de serie dado.
Publicación traducida automáticamente
Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA