У меня есть набор данных с диапазоном дат с 12 января по 3 августа 2018 года с некоторыми значениями:
Размерность my_df
DataFrame:
my_df.shape
(9752, 2)
Каждая строка содержит частоту получаса
Первый ряд начинается в 2018-01-12
my_df.iloc[0]
Date: 2018-01-12 00:17:28
Value 1
Name: 0, dtype: object
И последний ряд заканчивается на 2018-08-03
my_df.tail(1)
Date: Value
9751 2018-08-03 23:44:59 1
Моя цель - выбрать строки данных, соответствующие каждому дню, и экспортировать их в файл CSV.
Чтобы получить только данные за 12 января и сохранить в читаемый файл, я выполняю:
# Selecting data value of each day
my_df_Jan12 = my_df[(my_df['Fecha:']>='2018-01-12 00:00:00')
&
(my_df['Fecha:']<='2018-01-12 23:59:59')
]
my_df_Jan12.to_csv('Data_Jan_12.csv', sep=',', header=True, index=False)
С 12 января по 03 августа 203 дня (28 недель)
Я не хочу выполнять этот запрос каждый день вручную, тогда я пытаюсь выполнить следующий базовый анализ:
- Мне нужно сгенерировать 203 файла (по 1 файлу в день)
- День января, начинающийся 12 (12 января)
- Январь - первый месяц (01), а август - восьмой месяц (08)
Тогда:
- Мне нужно повторить все 203 дня
- и необходимо в каждой строке значения даты check
месяц и день валютирования с заказом для проверки изменения
каждый из них
В соответствии с вышеизложенным, я пробую этот подход:
# Selecting data value of each day (203 days)
for i in range(203):
for j in range(1,9): # month
for k in range(12,32): # days of the month
values = my_df[(my_df['Fecha:']>='2018-0{}-{} 00:00:00'.format(j,k))
&
(my_df['Fecha:']<='2018-0{}-{} 23:59:59'.format(j,k))]
values.to_csv('Values_day_{}.csv'.format(i), sep=',', header=True, index=False)
Но у меня есть проблема в том смысле, что когда я повторяю range(12,32)
в днях месяцев, это range(12,32)
относится только к первому январскому месяцу, я так думаю ...
Наконец-то я получаю 203 пустых файла CSV из-за чего-то, что я делаю неправильно ...
Как я могу решить эту небольшую проблему подходящим способом?
Любая ориентация высоко ценится