Python | Serie Pandas.apply()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *