Python | Serie Pandas.combine()

Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.

Pandas Series.combine()es un método de operación matemática en serie. Esto se utiliza para combinar dos series en una. La forma de la serie de salida es la misma que la serie de llamada. Los elementos son decididos por una función pasada como parámetro al combine()método. La forma de ambas series tiene que ser la misma, de lo contrario arrojará un error.

Sintaxis: Series.combine(other, func, fill_value=nan)

Parámetros:
otro: otra serie o tipo de lista que se combinará con la serie de llamadas
func: función pasada como parámetro que decidirá de qué serie el elemento debe colocarse en ese índice
fill_value: valor entero del nivel en caso de índice múltiple

Retorno: Serie combinada con la misma forma que la serie llamante

Ejemplo 1:

En este ejemplo, se crean dos listas y se convierten en series de pandas utilizando el método .Series(). Se crea una función usando lambda que verifica qué valores son más pequeños en ambas series y devuelve el que es más pequeño.

# importing pandas module
import pandas as pd
  
# creating first series
first =[1, 2, 5, 6, 3, 7, 11, 0, 4]
  
# creating second series
second =[5, 3, 2, 1, 3, 9, 21, 3, 1]
  
# making series
first = pd.Series(first)
  
# making seriesa
second = pd.Series(second)
  
# calling .combine() method
result = first.combine(second, (lambda x1, x2: x1 if x1 < x2 else x2))
  
# display
result

Salida:
como se muestra en la imagen de salida, la serie devuelta tiene valores más pequeños de ambas series.

 
Ejemplo #2:

En este ejemplo, los valores nulos también se pasan usando el Numpy.nanmétodo. Dado que la serie contiene valores nulos, se pasa 5 al parámetro fill_value para reemplazar los valores nulos por 5. Se pasa una función lambda que comparará los valores en ambas series y devolverá el mayor.

# importing pandas module
import pandas as pd
  
# importing numpy module
import numpy as np
  
# creating first series
first =[1, 2, np.nan, 5, 6, 3, np.nan, 7, 11, 0, 4, 8]
  
# creating second series
second =[5, 3, 2, np.nan, 1, 3, 9, 21, 3, np.nan, 1, np.nan]
  
# making series
first = pd.Series(first)
  
# making seriesa
second = pd.Series(second)
  
# calling .combine() method
result = first.combine(second, func =(lambda x1, x2: x1 if x1 > x2 else x2), fill_value = 5)
  
# display
result

Salida:
como se muestra en la salida, los valores de NaN en la serie fueron reemplazados por 5 antes de combinar la serie.


0      5.0
1      3.0
2      2.0
3      5.0
4      6.0
5      3.0
6      9.0
7     21.0
8     11.0
9      5.0
10     4.0
11     8.0
dtype: float64

Publicación traducida automáticamente

Artículo escrito por Kartikaybhutani 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 *