Les Pandas to_datetime ValueError: Inconnu format de chaîne de caractères
J'ai une colonne dans mon (pandas) dataframe:
data['Start Date'].head()
type(data['Start Date'])
Output:
1/7/13
1/7/13
1/7/13
16/7/13
16/7/13
<class 'pandas.core.series.Series'>
Quand je le convertir en un format de date (comme suit) j'obtiens l'erreur ValueError: Inconnu format de la chaîne de
data['Start Date']= pd.to_datetime(data['Start Date'],dayfirst=True)
...
...
/Library/Python/2.7/site-packages/pandas/tseries/tools.pyc in _convert_listlike(arg, box, format, name)
381 return DatetimeIndex._simple_new(values, name=name, tz=tz)
382 except (ValueError, TypeError):
--> 383 raise e
384
385 if arg is None:
ValueError: Unknown string format
Ce qui me manque ici?
quel est exactement le type de données des éléments dans la colonne?
Vous pouvez passer
Le Type en est l'objet. Je suppose que c'est considéré comme de la chaîne?
C'est probablement en effet de chaîne (mais peut également être mélangé). Avez-vous essayé ma suggestion?
Vous pouvez passer
errors='coerce'
(ou coerce=True
dans les versions antérieures), et ensuite voir quel élément est converti à NaT (et donc ne pourrait pas être converti en type datetime)Le Type en est l'objet. Je suppose que c'est considéré comme de la chaîne?
C'est probablement en effet de chaîne (mais peut également être mélangé). Avez-vous essayé ma suggestion?
OriginalL'auteur pheno | 2015-12-29
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est dans les données - une problématique de chaîne existe. De sorte que vous pouvez essayer de vérifier la longueur de la chaîne dans la colonne
Start Date
:Ou vous pouvez essayer de trouver ces problématiques ligne de manière différente par exemple de lire une partie seulement de la date et de vérifier l'analyse datetime:
Mais ce n'est que des conseils.
EDIT:
Merci joris pour la suggestion d'ajouter un paramètre
errors ='coerce'
àto_datetime
:Comment cela fonctionne? Est trouvé d'erreur?
Sur le forage vers le bas de chaque enregistrement. J'ai réalisé qu'il y avait quelques encodage des espaces des questions, besoin de rognage. S'avère que la "longueur" une façon de vérification contribué à faire de ce cas. Merci
comment pensez-vous de la garniture inhabituelle des espaces. Je suppose que toute ma colonne possède un espace.
utilisation
data['Start Date']= pd.to_datetime(data['Start Date'].str.strip(), dayfirst=True)
OriginalL'auteur jezrael