Pandas.apply permite a los usuarios pasar una función y aplicarla en cada valor de la serie Pandas. Se presenta como una gran mejora para la biblioteca de pandas, ya que esta función ayuda a segregar los datos de acuerdo con las condiciones requeridas, por lo que se usa de manera eficiente en la ciencia de datos y el aprendizaje automático.
Instalación:
Importe el módulo Pandas al archivo python usando los siguientes comandos en la terminal:
pip install pandas
Para leer el archivo csv y comprimirlo en una serie de pandas, se utilizan los siguientes comandos:
import pandas as pd s = pd.read_csv("stock.csv", squeeze=True)
Sintaxis:
s.apply(func, convert_dtype=True, args=())
Parámetros:
func: .apply toma una función y la aplica a todos los valores de la serie pandas.
convert_dtype: convierte dtype según la operación de la función.
args=(): Argumentos adicionales para pasar a función en lugar de serie.
Tipo de retorno: Serie Pandas después de la función/operación aplicada.
Para el conjunto de datos, haga clic aquí para descargar.
Ejemplo 1:
El siguiente ejemplo pasa una función y verifica el valor de cada elemento en serie y devuelve bajo, normal o alto según corresponda.
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))
Producción:
Ejemplo #2:
En el siguiente ejemplo, se crea una función anónima temporal en .apply usando lambda. Agrega 5 a cada valor en serie y devuelve una nueva serie.
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())
Producción:
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
Como se observa, Valores nuevos = valores antiguos + 5
Publicación traducida automáticamente
Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA