2017-10-02 1 views
0

J'ai obtenu les données de date et de prix d'un stock par exemple.Sélectionnez les lignes à des intervalles d'une minute à partir d'une colonne datetime

df = pd.DataFrame({ 'datetime' : ['2016-10-03 11:00:00', '2016-10-03 11:00:20','2016-10-03 11:00:24','2016-10-03 11:01:05','2016-10-03 11:01:14','2016-10-03 11:02:00','2016-10-03 11:02:28','2016-10-03 11:03:32','2016-10-03 11:04:26','2016-10-03 11:06:10'], 
        'price' : [10.02, 10.32, 10.32, 10.21, 10.45, 10.56, 10.68, 10.80, 11.01, 10.98]}) 

Je veux acheter 100 actions de chaque minute actions (c.-à-03/10/2016 11:00 - prix 10.02 * 100 actions, 03/10/2016 11h01 - prix à 10.21 * 100 actions et ainsi de suite)

est-il un moyen d'y parvenir sans fusionner les données? (J'ai besoin des données dans l'unité de chaque seconde pour l'étape suivante)

+0

Oh allez, comment voulez-vous quelqu'un de copier-coller ces données ... –

+0

désolé mon mauvais ... édité – bing

Répondre

1

IIUC, vous pouvez utiliser pd.to_datetime + resample + first:

df.assign(datetime=pd.to_datetime(df.datetime))\ 
     .set_index('datetime').resample('1T').first() * 100 
         price 
datetime     
2016-10-03 11:00:00 1002.0 
2016-10-03 11:01:00 1021.0 
2016-10-03 11:02:00 1056.0 
2016-10-03 11:03:00 1080.0 
2016-10-03 11:04:00 1101.0 
2016-10-03 11:05:00  NaN 
2016-10-03 11:06:00 1098.0 
+0

Ah voir, j'étais là mais a été occupé à répondre à commenter un autre;) – Vaishali