¿Cómo reemplazo los valores con símbolos adjuntos al final de él con NAN en un contexto de Pandas? -- pandas campo con dataframe campo con data-cleaning camp Relacionados El problema

How do I replace values with symbols appended to the end of it with NaN in a Pandas dataframe


2
vote

problema

Español

Estoy tratando de limpiar mi conjunto de datos de Pandas, sin embargo, no puedo descubrir una manera de eliminar los valores extraños con #, *, X adjunta al final del valor. Me gustaría reemplazar todos esos valores con NP.NAN.

He adjuntado un enlace a continuación de cómo se ve mi conjunto de datos.

https://imgur.com/gallery/5l5xhf1

Original en ingles

I am trying to clean my pandas dataset, however I can't figure out a way to remove the weird values with #,*,x appended at the end of the value. I would like to replace all those values with np.nan.

I have attached a link below of how my dataset looks like.

https://imgur.com/gallery/5l5XhF1

        

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Use set_index para obtener solo columnas numéricas, luego < Código> apply Porque to_numeric Trabajar con cada columna ( Series ) por separado para reemplazar no numérico a NaN s con 9988777665 Parámetro:

  non_num_cols = ['date'] df = df.set_index(non_num_cols).apply(pd.to_numeric, errors='coerce').reset_index()   
 

Use set_index for get only numeric columns, then apply because to_numeric working with each column (Series) separately for replace non numeric to NaNs with errors='coerce' parameter:

non_num_cols = ['date'] df = df.set_index(non_num_cols).apply(pd.to_numeric, errors='coerce').reset_index() 
 
 
 
 
1
 
vote

Puede usar pandas to_numeric - hacer Seguro que agrega errors=coerce .

 

You can use pandas to_numeric - make sure you add errors=coerce.

 
 
0
 
vote

Opción 1: desea reemplazar la basura con los valores limpios

  replace_dict = {         '#': '',         '*': ''     }  for key in replace_dict.keys():     df = df.applymap(lambda x: x.replace(key, replace_dict[key]) if type(x) is str else x)   

Opción 2: desea reemplazar la basura con np.nan

  import pandas import re  replace_char = ['#', '*'] for char in replace_char:     df = df.applymap(lambda x: np.nan if re.search('.*' + char, str(x)) else x)   
 

Option 1 : you want to replace junk with the cleaned values

replace_dict = {         '#': '',         '*': ''     }  for key in replace_dict.keys():     df = df.applymap(lambda x: x.replace(key, replace_dict[key]) if type(x) is str else x) 

Option 2 : you want to replace junk with np.nan

import pandas import re  replace_char = ['#', '*'] for char in replace_char:     df = df.applymap(lambda x: np.nan if re.search('.*' + char, str(x)) else x) 
 
 
 
 

Relacionados problema

1  Separe las filas completas e incompletas del conjunto de datos en Pandas y Python  ( Separate complete and incomplete rows from dataset in pandas and python ) 
¿Cómo puedo separar las filas completas e incompletas en un conjunto de datos en Pandas y Python (necesito separarlos para obtener un modelo de prueba y capac...

-2  Deshacerse de las etiquetas HTML, caracteres, números y palabras de una sola letra simultáneamente con expresiones regulares en Python?  ( Get rid of html tags characters numbers and single letter words simultaneously ) 
Tengo un problema en la limpieza de datos para el análisis de texto. Ahora he hecho cuatro regex en mis datos y todavía hay palabras no deseadas. ¡Quería sabe...

1  ¿Herramienta ETL o soluciones ad-hoc?  ( Etl tool or ad hoc solutions ) 
Estoy diseñando un sistema de almacén de datos, las fuentes de datos de origen son dos: archivos (formato hexadecimal, una estructura de grabación conocida) y...

0  Eliminar los valores innecesarios de una matriz PHP  ( Remove unneeded values from a php array ) 
Tengo un script PHP que se encuentra en varias tablas de una base de datos para generar puntajes. No sé de antemano cuántos resultados se acumularán o cuánt...

0  Apache Cerd Cómo reemplazar todas las comas en Chararray  ( Apache pig how to replace all comma in chararray ) 
Estoy tratando de reemplazar todas las comas en una charraray como esta: Ejemplo de líneas de entrada: 1,compras com cartão, comprei (cp1,cp2,cp3), 206-0...

2  Columna (en formato de índice) a DataFrame?  ( Column in index format to dataframe ) 
Tengo una columna en mi contexto de datos que se formatea como un índice: 0 [u'Basketball', u'Swimming', u'Gym'] 1 [u'Gym', u'Soccer', u'Football...

-1  Limpieza de datos de Excel  ( Excel data cleaning ) 
Estoy buscando el mejor enfoque para limpiar y ordenar los datos de Excel para su análisis y visualización. Lo que necesito es obtener los datos en formato de...

1  ¿Cómo crear filas duplicadas basadas en columnas?  ( How to create duplicate rows based on columns ) 
Considere este marco de datos NeoService neoService = new EmbeddedNeo("C:/temp/graphdb"); Transaction tx = neoService.beginTx(); try { org.neo4j.api.core...

-1  ¿Cómo limpiar / ordenar los datos en R con entradas múltiples correspondientes a algunas de las variables de fila intermitentes en varias columnas?  ( How to clean sort data in r with multiple entries corresponding to few of the in ) 
la imagen de muestra de datos Cómo limpiar / volver a organizar datos en R / R Estudio En caso de que una variable de fila tiene más de una entradas en las ...

0  Pandas: Drop Observaciones basadas en condiciones y valores de NAN  ( Pandas drop observations based on conditions and nan values ) 
Tengo un contexto de datos llamado df y desea eliminar todas las observaciones donde df['duplicate']==True y dónde df['Name']=nan . Probé la siguiente lí...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos