AttributeError: ne Peut utiliser .dt accesseur avec datetimelike valeurs

Salut, je suis en utilisant des pandas pour convertir une colonne de mois.
Quand j'ai lu mes données, ils sont objets:

Date           object
dtype: object

Donc je suis la première mise à jour de temps et ensuite d'essayer de les rendre aussi mois:

import pandas as pd
file = '/pathtocsv.csv'
df = pd.read_csv(file, sep = ',', encoding='utf-8-sig', usecols= ['Date', 'ids'])    
df['Date'] = pd.to_datetime(df['Date'])
df['Month'] = df['Date'].dt.month

Aussi si ça peut aider:

In [10]: df['Date'].dtype
Out[10]: dtype('O')

Donc, l'erreur que j'obtiens est comme ceci:

/Library/Frameworks/Python.framework/Versions/2.7/bin/User/lib/python2.7/site-packages/pandas/core/series.pyc in _make_dt_accessor(self)
   2526             return maybe_to_datetimelike(self)
   2527         except Exception:
-> 2528             raise AttributeError("Can only use .dt accessor with datetimelike "
   2529                                  "values")
   2530 

AttributeError: Can only use .dt accessor with datetimelike values

ÉDITÉ:

Date colonnes sont comme ceci:

0         2014-01-01         
1         2014-01-01         
2         2014-01-01         
3         2014-01-01         
4         2014-01-03       
5         2014-01-03         
6         2014-01-03         
7         2014-01-07         
8         2014-01-08         
9         2014-01-09 

Avez-vous des idées?
Merci beaucoup!

  • Pouvez-vous montrer un exemple de votre dataframe, qui reproduit votre problème?
  • Cela signifie que le to_datetime a échoué, veuillez post raw entrée de données et de code à reproduire ton erreur, ici les données matière
  • J'ai édité la réponse! Et y a ajouté des colonnes, avez-vous besoin de quelque chose de plus?
  • Désolé, vous avez besoin de poster de code et de données pertinentes, qui reproduit votre erreur, ce qui est insuffisant
  • J'ai ajouté mon code exact. Mais les fichiers sont énormes. Comment puis-je passer?
  • Ajouter peut-être quelques 5 à 10 lignes de, vérifier à l'aide d'un exemple csv, si cela peut reproduire votre problème.
  • Pouvez-vous essayer d'ajouter parse_dates param de to_csv: df = pd.read_csv(file, sep = ',', encoding='utf-8-sig', usecols= ['Date', 'ids'], parse_dates=['Date'])
  • Il a exactement les memes resultats. Pensez-vous qu'il est une autre façon de le faire? Comme le fractionnement de la colonne de date?
  • Cela signifie probablement que vous avez duff données pouvez-vous essayer df['Date'] = pd.to_datetime(df['Date'], coerce=True) où la date de chaînes ne sont pas correctement mis en forme NaT sera mis en place, mais vraiment vous avez besoin de comprendre pourquoi il n'aime pas ces lignes
  • Oh que effectivement travaillées! Je vais faire des recherches pour trouver quelles sont les lignes de production de ce gâchis! Vous êtes géniaux, merci!

InformationsquelleAutor Nasia Ntalla | 2015-10-27