"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment remplacer les valeurs vides (espaces) par NaN dans un Pandas DataFrame ?

Comment remplacer les valeurs vides (espaces) par NaN dans un Pandas DataFrame ?

Publié le 2024-11-08
Parcourir:412

How do I replace blank values (whitespace) with NaN in a Pandas DataFrame?

Remplacement des valeurs vides (espaces blancs) par NaN dans Pandas

Le nettoyage des données est une étape cruciale dans l'analyse des données. Une tâche courante consiste à remplacer les valeurs vides (espaces) par NaN. Cela peut être fait efficacement en utilisant Pandas.

Pour y parvenir, utilisez la fonction df.replace(). Cette fonction permet une opération de recherche et de remplacement basée sur une expression régulière sur les valeurs DataFrame. Voici comment l'implémenter :

import numpy as np
import pandas as pd

df = pd.DataFrame([
    [-0.532681, 'foo', 0],
    [1.490752, 'bar', 1],
    [-1.387326, 'foo', 2],
    [0.814772, 'baz', ' '],
    [-0.222552, '   ', 4],
    [-1.176781,  'qux', '  '],
], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06'))

# Replace fields that contain only whitespace (or are empty) with NaN
print(df.replace(r'^\s*$', np.nan, regex=True))

# Output:
#                    A    B   C
# 2000-01-01 -0.532681  foo   0
# 2000-01-02  1.490752  bar   1
# 2000-01-03 -1.387326  foo   2
# 2000-01-04  0.814772  baz NaN
# 2000-01-05 -0.222552  NaN   4
# 2000-01-06 -1.176781  qux NaN

Notez que ce code remplace les champs qui contiennent uniquement des espaces ou sont vides (c'est-à-dire, correspondent à l'expression régulière r'^\s*$'**) . Si vos données valides contiennent des espaces blancs, ajustez l'expression régulière en conséquence (par exemple, supprimez le **$ de la fin pour r'^\s ').

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3