No sé por qué na_values no cambia los valores con "$ -" a NaN. He ingresado manualmente $ - en el archivo y no hay espacios.

import pandas as pd
df=pd.read_csv('discounted_products.csv',na_values = ['$-']) 
df.head()  

introduzca la descripción de la imagen aquí

Por favor ayuda aquí.

-1
Clash Cosmos 30 ago. 2020 a las 22:12

1 respuesta

La mejor respuesta

Podría deberse a que pandas funciona con expresiones regulares de forma predeterminada en los métodos de cadena (aunque no se menciona en el documentación read_csv). Intentar

na_values = [r'$-']

Actualizar

Funcionó bien para mi

from io import StringIO
df = pd.read_csv(StringIO(
'''a,b
test,$-'''), na_values=[r'$-'])

print(df)

      a   b
0  test NaN
0
RichieV 30 ago. 2020 a las 19:42