2017-08-15 3 views
1

Mes fichiers de données contiennent environ 1 million de lignes de données chronologiques. Il a été lu en Python en utilisant df = pd.read_csv(...). Je cherche un moyen d'obtenir la durée du fichier (en secondes), la sortie que je cherche est juste un nombre pour donner la duréePandas DateTime obtenir la durée du fichier

Ci-dessous montre la première et la dernière 5 entrées pour montrer la structure de données:

df.head (5)

        X   Y   Z 
TimeStamp            
2017-05-12 11:03:39.560 0.185310 -0.168226 0.385064 
2017-05-12 11:03:39.570 0.184273 -0.290579 0.497026 
2017-05-12 11:03:39.580 0.188649 -0.456002 0.6
2017-05-12 11:03:39.590 0.195188 -0.629775 0.679267 
2017-05-12 11:03:39.600 0.196400 -0.789999 0.729308 

df.tail (5)

        X   Y   Z 
TimeStamp            
2017-05-12 13:18:59.950 -0.045288 -0.018508 1.010065 
2017-05-12 13:18:59.960 -0.045412 -0.018438 1.009695 
2017-05-12 13:18:59.970 -0.045671 -0.018282 1.009768 
2017-05-12 13:18:59.980 -0.045889 -0.018029 1.010952 
2017-05-12 13:18:59.990 -0.045657 -0.017709 1.013374 

Répondre

1

IIUC, nous allons essayer, timestamp est un DatetimeIndex: D'abord Rentrons index dans datetime:

df.index = pd.to_datetime(df.index) 


df.reset_index()['TimeStamp'].diff().sum().total_seconds() 

OU

(df.index[-1] - df.index[0]).total_seconds() 
+0

J'ai essayé cela et une erreur a été élevé: 'TypeError: non pris en charge type (s) d'opérande pour -: 'str' et 'str'' – candid

+0

Je n'avais pas réalisé, merci – candid