Supprimer dtype datetime NaT
Je suis en train de préparer une pandas df pour la sortie, et à supprimer le NaN et NaT dans le tableau, et de laisser ceux de la table vide. Un exemple serait
mydataframesample
col1 col2 timestamp
a b 2014-08-14
c NaN NaT
deviendrait
col1 col2 timestamp
a b 2014-08-14
c
La plupart des valeurs sont dtypes objet, avec la colonne timestamp être datetime64[ns]. Afin de résoudre ce problème, j'ai tenté d'utiliser de panda mydataframesample.fillna(' ')
effectivement de laisser un espace à l'emplacement. Toutefois, cela ne fonctionne pas avec les types datetime. Pour contourner ce problème, je suis en train de convertir la colonne timestamp vers l'objet ou le type de chaîne.
Est-il possible de supprimer le NaN/NaT sans faire la conversion de type? Si non, comment dois-je faire la conversion de type (essayé str() et astype(str), mais de la difficulté avec datetime étant le format d'origine)?
NaT
comme vous l'avez constaté, quel est le problème avec le fait d'avoir NaN
/NaT
's?Qu'entendez-vous par "production"? Dans certains cas (par ex. l'enregistrement au format CSV) la
NaN
/NaT
sera automatiquement rempli avec des blancs.Je suis de la conversion au format html et l'envoyer un e-mail. Sera le NaN/NaT toujours automatiquement remplie avec des blancs @chrisb?
OriginalL'auteur user2643394 | 2014-08-05
Vous devez vous connecter pour publier un commentaire.
Ce ne gagnera pas de la vitesse des prix, mais si le DataFrame n'est pas trop long, la réaffectation à l'aide d'une compréhension de liste sera de faire le travail:
rendements
OriginalL'auteur unutbu
J'ai eu le même problème: Ce n'est tout en place à l'aide de pandas appliquer la fonction. Devrait être la méthode la plus rapide.
si votre champ d'horodatage n'est pas encore en
datetime
format:OriginalL'auteur Alexander McFarlane
@unutbu réponse fonctionne correctement, mais si vous ne voulez pas modifier le DataFrame, vous pourriez faire quelque chose comme cela.
to_html
prend un paramètre pour combien deNaN
est représentée, pour gérer l'NaT
vous avez besoin pour passer d'une mise en forme personnalisée fonction.OriginalL'auteur chrisb
Si tout ce que vous voulez faire est de les convertir en une chaîne:
Pour remplacer les valeurs manquantes par une chaîne
OriginalL'auteur Jeff