[Turn] Pandas Data Processing (6) - Introducción al método apply ()

Procesamiento de datos de Pandas (5) - ¡Introducción al método apply ()!

 

Este artículo presenta varios usos comunes de la función apply () en Pandas. La función apply () tiene un alto grado de libertad. Puede atravesar directamente los elementos en la serie o DataFrame elemento por elemento. Es conveniente y eficiente, y tiene características similares a Numpy.

Cuando se usa apply (), generalmente coloca una expresión de función lambda o una función como una operación de operación. El uso oficial de apply () es:

DataFrame.apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds
  • func representa la función pasada o expresión lambda;
  • El parámetro del eje puede proporcionar dos, este parámetro predeterminado es 0 / columna
    • 0 o índice, lo que significa que la función procesa cada columna;
    • 1 o columnas, lo que significa que se procesa cada fila;

 

  • raw; tipo bool, el valor predeterminado es False;
    • Falso significa que cada fila o columna se pasa a la función como una Serie;
    • Verdadero, indica que se acepta el tipo de datos ndarray;

 

apply () Finalmente, después del procesamiento de la función, los datos se devuelven en formato Series o DataFrame.

Aquí hay algunos ejemplos para presentar el uso específico de apply ();

DataFrame 使用 aplicar ()

1. Calcula la raíz cuadrada de cada elemento.

Por conveniencia, la función sqrt de numpy se usa directamente;

>>> df  =pd.DataFrame([[4,9]]*3,columns = ['A','B'])
>>> df
   A  B
0  4  9
1  4  9
2  4  9
​
​
>>> df.apply(np.sqrt)
     A    B
0  2.0  3.0
1  2.0  3.0
2  2.0  3.0

2. Calcule el valor promedio de cada fila de elementos.

Aquí los datos entrantes están en forma de columnas, por lo que eje = 0, que se puede omitir;

>>> df.apply(np.mean)
A    4.0
B    9.0

3. Calcule el promedio de cada columna de elementos.

La diferencia con 2 es que se pasa en forma de filas y se agrega un parámetro axis = 1;

>>> df.apply(np.mean,axis = 1)
0    6.5
1    6.5
2    6.5
dtype: float64

4. Agregue una nueva columna C, cuyos valores sean la suma de las columnas A y B respectivamente.

Para lograr esta función, se puede lograr la línea de código más simple:

df['C'] = df.A +df.B

Pero aquí necesitamos usar apply () para realizar el uso de operaciones entre columnas. Los pasos de la operación se dividen en los siguientes dos pasos:

1. Primero defina una función para implementar la columna A + la columna B;

2. Use apply () para agregar la función, y los datos deben agregarse fila por fila , por lo tanto, establezca el eje = 1

>>> def Add_a(x):
...   return x.A+x.B
​
>>> df['C'] = df.apply(Add_a,axis=1)
>>> df
   A  B   C
0  4  9  13
1  4  9  13
2  4  9  13

Se aplica el uso de la serie ()

La serie utiliza la función apply () similar a DataFrame, la mayor diferencia en el uso es la adición de un nombre de columna DataFram. Nombre de clase

1. Agregue 1 a todos los elementos de la columna A

Método sin aplicar ()

df.A =df.A +1

Use la función apply () para operar. Aquí paso una función lambda:

>>> df.A = df.A.apply(lambda x:x+1)
>>> df
   A  B   C
0  5  9  13
1  5  9  13
2  5  9  13

2. Determine si el elemento de la columna A puede ser divisible por 2 y márquelo junto a él con Sí o No.

>>> df.A = df.A.apply(lambda x:str(x)+"\tYes" if x%2==0 else str(x)+"\tNo")
>>> df
       A  B
0  5\tNo  9
1  5\tNo  9
2  5\tNo  9

La mayoría de los usos de apply () se basan en los puntos anteriores. La diferencia es que los ejemplos enumerados aquí son más simples, pero son suficientes para comprender el uso básico.

Lo anterior es todo el contenido de este artículo, ¡y gracias a todos por leer!

 

Publicado el 31/12/2020

Supongo que te gusta

Origin blog.csdn.net/weixin_52071682/article/details/112460736
Recomendado
Clasificación