J'ai un ensemble de données contenant par exemple:

A      B     C
---- ----- -----
a      -     0
b      -16   2
c      -     2 

Je veux supprimer des lignes avec seulement un tiret (-), la sortie attendue est:

A   B   c
--- --- ---
a    nan  0
b    -16  2
c    nan  2
1
ann 11 mars 2019 à 13:35

2 réponses

Meilleure réponse

Cela supprime - uniquement lorsqu'il n'est pas suivi d'un chiffre:

re.sub(r'-(?!\d)', 'nan', s)
0
Toto 11 mars 2019 à 11:02

Si vous utilisez pandas et numpy, vous pouvez le faire en utilisant.

df = df.replace("-", np.nan)

Production:

A    B    c

a    NaN  0
b    -16  2
c    NaN  2
0
Sociopath 11 mars 2019 à 10:50