Estoy usando la biblioteca de pandas para leer algunos datos CSV. En mis datos, ciertas columnas contienen cadenas. La cadena "nan"
es un valor posible, al igual que una cadena vacía. Me las arreglé para que los pandas leyeran "nan" como una cadena, pero no puedo averiguar cómo hacer que no lea un valor vacío como NaN. Aquí hay datos de muestra y salida
One,Two,Three
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven
>>> pandas.read_csv('test.csv', na_values={'One': [], "Three": []})
One Two Three
0 a 1 one
1 b 2 two
2 NaN 3 three
3 d 4 nan
4 e 5 five
5 nan 6 NaN
6 g 7 seven
Lee correctamente "nan" como la cadena "nan", pero aún lee las celdas vacías como NaN. Intenté pasar str
el converters
argumento a read_csv (con converters={'One': str})
), pero todavía lee las celdas vacías como NaN.
Me doy cuenta de que puedo completar los valores después de leer, con fillna, pero ¿realmente no hay forma de decirles a los pandas que una celda vacía en una columna CSV en particular debe leerse como una cadena vacía en lugar de NaN?
keep_default_na
continuación.