Comment puis-je configurer correctement le Datetimeindex pour une Pandas objet datetime dans un dataframe?

J'ai une pandas dataframe:

    lat         lng         alt days              date        time
0   40.003834   116.321462  211 39745.175405      2008-10-24  04:12:35
1   40.003783   116.321431  201 39745.175463  2008-10-24      04:12:40
2   40.003690   116.321429  203 39745.175521      2008-10-24      04:12:45
3   40.003589   116.321427  194 39745.175579      2008-10-24      04:12:50
4   40.003522   116.321412  190 39745.175637      2008-10-24      04:12:55
5   40.003509   116.321484  188 39745.175694      2008-10-24      04:13:00

Pour laquelle je suis en train de convertir le df['date'] et df['temps'] colonnes dans un datetime. Je peux le faire:

df['Datetime'] = pd.to_datetime(df['date']+df['time'])
df = df.set_index(['Datetime'])
del df['date']
del df['time']

Et j'obtiens:

                    lat         lng         alt days
Datetime                            
2008-10-2404:12:35  40.003834   116.321462  211 39745.175405    
2008-10-2404:12:40  40.003783   116.321431  201 39745.175463
2008-10-2404:12:45  40.003690   116.321429  203 39745.175521    
2008-10-2404:12:50  40.003589   116.321427  194 39745.175579    
2008-10-2404:12:55  40.003522   116.321412  190 39745.175637

Mais alors, si j'essaie:

df.between_time(time(1),time(22,59,59))['lng'].std()

J'obtiens une erreur - 'TypeError: Index doit être DatetimeIndex'

Oui, j'ai aussi essayé le réglage de la DatetimeIndex:

df['Datetime'] = pd.to_datetime(df['date']+df['time'])
#df = df.set_index(['Datetime'])
df = df.set_index(pd.DatetimeIndex(df['Datetime']))
del df['date']
del df['time']

Et cela déclenche une erreur aussi - 'DateParseError: inconnu format de chaîne de caractères'

Comment puis-je créer la colonne datetime et DatetimeIndex correctement de sorte que df.between_time() fonctionne?

OriginalL'auteur user3654387 | 2014-11-20