我有一个日期范围从 2018 年 1 月 12 日到 8 月 3 日的数据集,其中包含一些值:
df_luminosidadDataFrame的维度为:
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
从1月12日到8月03日有203天(28周),然后我选择204个likeperiod属性,我用的是一个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:列值生成了一个数据框,并且我可以分别获得它们的平均值,但这迫使我单独阅读每个文件日。
如何生成一种循环方式,将一天的所有值分组为每天的唯一平均值并将它们放入一个数据框中?
相关分类