Borrar datos de cadena en el marco de datos de Pandas especificado

| | | | | | | | | | | | | | |

Supongamos que estamos tratando con datos de un sitio de comercio electrónico. Los nombres de los productos no están en el formato correcto. Formatee los datos correctamente para que no haya espacios iniciales ni finales, y las primeras letras de todos los productos estén en mayúsculas.

Solución #1: En muchos casos, nos enfrentamos a una situación en la que necesita escribir su propia función personalizada adecuada para la tarea en cuestión.


# import pandas as pd

importar pandas como pd


# Crear marco de datos

df = pd.DataFrame ({ `Date` : [< /código> `2/10/2011` , ` 2/11/2011` , `2/12/2011` , < codigo c lass="string">` 13/2/2011` ],

`Producto` : [ `UMbreLla` , ` maTress` , `BaDmintoN` , `Lanzadera` ],

` Precio_Actualizado` : [ 1250 , 1450 , 1550 , 400 ],

` Descuento` : [ 10 , 8 , 15 , 10 ]})


# Imprime el marco de datos

print (df)

Salida:

Ahora escribiremos nuestra propia función personalizada para resolver este problema.


def Format_data (df):

# iterar sobre todas las líneas

para i en rango (df.forma [ 0 ]):


# reasignar los valores ​​a la columna del producto

# primero eliminar los espacios usando la función strip()

# luego capitalizamos con la función capitalize()

df. iat [i, 1 ] = df.iat [i, 1 ]. banda (). mayúsculas ( )


# Vamos a llamar a la función
Format_data (df )


# Imprime el marco de datos

print (df)

Salida:

Solución n.° 2: Ahora veremos un enfoque mejor y más eficiente utilizando Pandas función DataFrame.apply () .


# importar pandas como pd

importar pandas como pd


# Crear marco de datos

df = pd.DataFrame ( {` ` Fecha` : [ < clase de código = "cadena"> `2/10/2011` , `2/11/2011` , `2/12/2011` , ` 2/13/2011` ],

`Producto` : [ `UMbreLla` , ` maTress` , `BaDmintoN` , `Lanzadera` ],

`Precio_actualizado` : [ 1250 , 1450 , 1550 , 400 ],

`Descuento` : [ 10 , 8 , 15 , 10 ]})


# Imprimir el marco de datos

imprimir (df)

Salida:

Usemos DataFrame.apply () Pandas DataFrame.apply () para dar formato a los nombres de productos en el formato deseado. Dentro de la función Pandas DataFrame.apply () , usaremos una función lambda.


# Usando el df.apply () función en una columna producto

df [ `Producto` ] = df [ `Producto ` ]. aplicar ( lambda x: x.strip (). mayúsculas ())


# Imprime el marco de datos

imprimir (df)

Salida :