【发布时间】:2019-05-29 15:27:15
【问题描述】:
我有一个包含消息数量和发送时间段的数据框(以 10 分钟为增量)。这是一个sn-p:
+---------------------+--------------+
| UnixTime | Num messages |
+---------------------+--------------+
| 2019-02-01 00:00:00 | 54 |
| 2019-02-01 00:10:00 | 23 |
| 2019-02-01 00:20:00 | 36 |
+---------------------+--------------+
此数据帧具有一年的增量时间戳和该期间的消息数。如何使用整个数据框和星期几作为参考来模拟平均/中位数周。
+-----------------+-------------------------+
| UnixTime (Mean) | Mean number of messages |
+-----------------+-------------------------+
| Friday 00:00:00 | 56.3 |
| Friday 00:10:00 | 25.5 |
| Friday 00:20:00 | 30.4 |
+-----------------+-------------------------+
因此,输出数据框应该模拟一年中从周一到周日的平均一周,以及该时间段和日期在一年中的平均消息数。
我知道我可以通过df["Day Of Week"] = df['UnixTime'].dt.day_name() 获得星期几,但我如何才能模拟平均值,以便将09:00 - 09:10 之间的一年中的每个星期一视为同一组。
【问题讨论】:
-
看看
grouby。您应该能够执行以下操作:df.groupby('Day Of Week').mean(). -
不确定我是否理解正确,但如果您想获得一周中每一天的平均值。数据框中的
Mean number of messages列不应该都具有相同的值吗? -
@Erfan 所以这将是周五 00:00 到 00:10 之间发送的平均消息数,依此类推
-
所以
00:00 - 00:10之间的每个星期五都被视为同一组? -
@Erfan 就是这样,是的
标签: python pandas dataframe resampling