Python Pandas Datetime цикл по дням - PullRequest
0 голосов
/ 19 мая 2018

простой пример того, как выглядит мой pd:

DateTime               C_CL       C_EB
2018-01-03 10:30    -0.002726   -0.002921
2018-01-03 10:50    -0.005832   -0.005343
2018-01-03 11:10    -0.006966   -0.007278
2018-01-03 11:30    -0.01883    -0.019026
2018-01-04 10:30    -0.0021     -0.001261
2018-01-04 10:50     0.006887    0.00595
2018-01-04 11:10    -0.00076    -0.000717
2018-01-04 11:30     0.002282    0.002152

datetime - dtype='datetime64[ns]', так что довольно просто сделать что-то вроде df['2018-01-04'], и оно просто вырастет.

вопрос в том, как мне создать цикл, который позволил бы мне повторять каждый день за один раз, не зная, какие дни находятся во временном ряду.Я не беспокоюсь о времени, просто день.Причина этого состоит в том, чтобы сделать некоторые вычисления только для этого дня, добавить в таблицу и перейти к следующему дню.

1 Ответ

0 голосов
/ 19 мая 2018

Это полезно?

Воссоздать фрейм данных:

import pandas as pd
import numpy as np

data = '''\
DateTime               C_CL       C_EB
2018-01-03T10:30    -0.002726   -0.002921
2018-01-03T10:50    -0.005832   -0.005343
2018-01-03T11:10    -0.006966   -0.007278
2018-01-03T11:30    -0.01883    -0.019026
2018-01-04T10:30    -0.0021     -0.001261
2018-01-04T10:50     0.006887    0.00595
2018-01-04T11:10    -0.00076    -0.000717
2018-01-04T11:30     0.002282    0.002152'''

file = pd.compat.StringIO(data)
df = pd.read_csv(file, sep='\s+', parse_dates=['DateTime'], index_col=['DateTime'])

И вот несколько операций, которые вы можете выполнить:

#df.groupby(df.index.date).sum()
#df.groupby(df.index.date).mean()
#df.groupby(df.index.date).std()
#df['sum_CL'] = df.groupby(df.index.date)['C_CL'].transform('sum')
#df.groupby(df.index.date)['C_CL'].agg(['sum','mean','std'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...