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
Vous devez vous connecter pour publier un commentaire.
Pour simplifier Kirubaharan de répondre un peu:
Et pour se faire chevaucher de des colonnes (que l'OP n', mais ne précise pas de soi dans la question):
OriginalL'auteur
Vous n'êtes pas de la création d'datetime indice,
OriginalL'auteur