Devuelve múltiples columnas usando el método apply() de Pandas

Los objetos pasados ​​a pandas.apply() son objetos Series cuyo índice es el índice del DataFrame (eje=0) o las columnas del DataFrame (eje=1). De forma predeterminada (result_type=None), el tipo de devolución final se deduce del tipo de devolución de la función aplicada. De lo contrario, depende del argumento tipo_resultado.

Sintaxis: DataFrame.apply(func, axis=0, broadcast=Ninguno, raw=False, reduce=Ninguno, result_type=Ninguno, args=(), **kwds)

A continuación se muestran algunos programas que representan el uso depandas.DataFrame.apply()

Ejemplo 1:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sqrt)

Producción:

pandas-apply-1
Using a numpy universal function (in this case the same as numpy.sqrt(dataFrame)).

Ejemplo 2:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sum, axis = 0)

Producción:

pandas-apply-2
Using a reducing function on columns.

Ejemplo 3:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(numpy.sum, axis = 1)

Producción:

pandas-apply-3

Usando una función de reducción en las filas.

Ejemplo 4:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1)

Producción:

pandas-apply-4

Devolver una lista similar dará como resultado una Serie.

Ejemplo 5:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1, result_type ='expand')

Producción:

pandas-apply-5

Pasar result_type=’expand’ expandirá los resultados similares a una lista a las columnas de un marco de datos.

Ejemplo 6:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: pandas.Series(
    [1, 2], index =['foo', 'bar']), axis = 1)

Producción:

pandas-apply-6

Devolver una Serie dentro de la función es similar a pasar result_type=’expand’. Los nombres de las columnas resultantes serán el índice de la serie.

Ejemplo 7:

# Program to illustrate the use of 
# pandas.DataFrame.apply() method
  
# Importing required Libraries
import pandas
import numpy
  
# Creating dataframe
dataFrame = pandas.DataFrame([[4, 9], ] * 3, columns =['A', 'B'])
print('Data Frame:')
display(dataFrame)
  
# Using pandas.DataFrame.apply() on the data frame
print('Returning multiple columns from Pandas apply()')
dataFrame.apply(lambda x: [1, 2], axis = 1, result_type ='broadcast')

Producción:

pandas-apply-7
Passing result_type=’broadcast’ will ensure the same shape result, whether list-like or scalar is returned by the function, and broadcast it along the axis. The resulting column names will be the originals.

Publicación traducida automáticamente

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