Comment accéder aux pandas DataFrame datetime index à l'aide de cordes

C'est un très simple et très pratique question. J'ai le sentiment qu'il doit être un idiot en détail et qu'il devrait y avoir des questions similaires. Je n'étais pas en mesure de les trouver tho. Si quelqu'un le fait, je vais joyeusement supprimer celui-ci.

Le plus proche que j'ai trouvé:
pandas: itération sur DataFrame indice de loc

Comment sélectionner les lignes à l'intérieur d'une pandas dataframe basé sur le temps que lorsque l'indice de la date et de l'heure

de toute façon, le truc c'est que j'ai un datetime indexé panda dataframe comme suit:

In[81]: y
Out[81]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0

In[82]: y.index
Out[82]: DatetimeIndex(['2008-01-01', '2008-01-02', '2008-01-03'], dtype='datetime64[ns]', freq=None)

Bizarrement, je ne peux pas accéder à ses valeurs en utilisant aucune des méthodes suivantes:

In[83]: y[datetime.datetime(2008,1,1)]
In[84]: y['2008-1-1']
In[85]: y['1/1/2008']

- Je obtenir le KeyError erreur.

Encore plus bizarre, c'est que ces méthodes NE de travail:

In[86]: y['2008']
Out[86]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0
In[87]: y['2008-1']
Out[87]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0

Je suis relativement nouveau pour les pandas alors peut-être que je manque quelque chose ici?

OriginalL'auteur Pedro Braz | 2016-04-26