J'utilise la bibliothèque pandas pour lire certaines données CSV. Dans mes données, certaines colonnes contiennent des chaînes. La chaîne "nan"
est une valeur possible, tout comme une chaîne vide. J'ai réussi à amener les pandas à lire "nan" comme une chaîne, mais je ne peux pas comprendre comment l'obtenir pour ne pas lire une valeur vide comme NaN. Voici des exemples de données et de sortie
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
Il lit correctement "nan" comme la chaîne "nan ', mais lit toujours les cellules vides comme NaN. J'ai essayé de passer str
l' converters
argument à read_csv (avec converters={'One': str})
), mais il lit toujours les cellules vides comme NaN.
Je me rends compte que je peux remplir les valeurs après lecture, avec fillna, mais n'y a-t-il vraiment aucun moyen de dire aux pandas qu'une cellule vide dans une colonne CSV particulière doit être lue comme une chaîne vide au lieu de NaN?
keep_default_na
ci-dessous.