Je dispose d'un fichier csv qui ressemble à ceci:Comment regrouper une base de données et accumuler les valeurs d'un colume?
date price volume
2017-10-17 01:00:11.031 51.91 1
2017-10-17 01:00:11.828 51.91 1
2017-10-17 01:00:12.640 51.91 1
2017-10-17 01:00:13.140 51.90 -9
2017-10-17 01:00:15.328 51.90 -5
2017-10-17 01:00:16.531 51.90 1
2017-10-17 01:00:16.531 51.89 -2
2017-10-17 01:00:19.937 51.90 1
2017-10-17 01:00:24.546 51.90 1
2017-10-17 01:00:25.250 51.90 1
2017-10-17 01:00:32.843 51.89 -9
2017-10-17 01:00:42.859 51.89 -5
2017-10-17 01:00:43.453 51.89 -1
2017-10-17 01:00:43.546 51.90 1
2017-10-17 01:00:45.953 51.90 7
...
Je veux faire une trame de données qui montre combien de volumes ont été accumulées dans toutes les 5 minutes, à chaque niveau de prix.
Par exemple, si les plus hauts et les plus bas entre 17.10.2017 00:00 ~ 17/10/2017 00:05 étaient 51,21 et 51,11, le résultat serait:
datetime price pos_volume neg_volume
2017-10-17 00:00 51.21 3 4
51.20 21 23
51.19 44 21
51.18 31 33
...
51.14 14 21
51.13 30 29
51.12 2 3
51.11 5 1
Il y a deux colonnes pour différencier les volumes positifs et négatifs.
Je pense que je pourrais le faire si j'utilise beaucoup de boucles conditionnelles, mais je voudrais savoir s'il y a plus de façons simples de faire cela. Merci d'avoir lu ceci!
Avez-vous vu 'df.resample'? –
@ cᴏʟᴅsᴘᴇᴇᴅ Oh, merci! Je vais le chercher – maynull