У меня есть набор данных с диапазоном дат с 12 января по 3 августа 2018 года с некоторыми значениями:

Размерность df_luminosidad
DataFrameis:
df_luminosidad.shape
(9752, 2)
Каждая строка данных имеет частоту получаса.Первая строка начинается в 2018-01-12
df_luminosidad.iloc[0]
Fecha: 2018-01-12 00:17:28
Luz (lux) 1
Name: 0, dtype: object
, а последняя строка заканчивается в 2018-08-03
df_luminosidad.tail(1)
Fecha: Luz (lux)
9751 2018-08-03 23:44:59 1
Есть много строк, которые соответствуют одному дню, как указано выше.
Я хочу создать новый фрейм данных, выбрав только 1 день в качестве значения для столбца Fecha:
(без повторяющейся даты) и выбрать среднее значение из всех существующих значений для выбранной даты Luz(lux) column
Это будет выглядеть следующим образом:
| Fecha: | Luz(lux) - Average each day values |
| 2018-01-12 | 9183.479167 |
| 2018-01-13 | 7431.8125 |
| 2018-01-14 | 11073.1875 |
| 2018-01-15 | 11456.25 |
| . . |
| . . |
| . . |
| 2018-08-03 | 11331.229167 |
Я использую функцию pd.date_range()
для создания кадра данных со значениями от df_luminosidad
предыдущего кадра данных до указанной частоты, такой как обозначено @ piRSquared в этом ответе
С 12 января по 3 августа есть 203 дня (28 недель), затем я выбираю 204, например атрибут period
, и я используюfreq
атрибут частоты календарного дня D
df = pd.DataFrame(dict(
Date=pd.date_range('2018-01-12', periods=204, freq='D'),
Value=df_luminosidad['Luz (lux)'].mean()
))
До сих пор подход хорош, но у меня есть сомнения относительно того, как вычислить среднее значение Luz (lux)
для каждого дня, выбранного с помощью pd.date_range
, потому что в этот момент я просто получаюВерифицируйте одно и то же значение для всех дней от 2018-01-12
до 2018-08-03
, например:
| Date | Value |
| 2018-01-12 | 11228.888331 |
| 2018-01-13 | 11228.888331 |
| 2018-01-14 | 11228.888331 |
| 2018-01-15 | 11228.888331 |
| . . |
| . . |
| . . |
| 2018-08-03 | 11331.229167 |
Я уже сгенерировал фрейм данных для каждого значения столбца Fecha:
, и отдельно я мог бы получить их среднеено это вынуждает меня читать каждый день по отдельности.
Как я могу сгенерировать циклически, группируя все значения дня в единственное среднее значение по каждому дню и помещая их в один кадр данных?