我正在研究一个数据集,其中包含芝加哥市出租车出行的数据。数据包含每次出行的信息,如出租车ID、时间戳、车费等。数据示例如下所示,来自df.head()
,时间戳为datetime:
Taxi ID Pickup Community Area Trip Total
Trip End Timestamp
2016-04-25 18:00:00 bfec2c659fcbed3b508dc6caaf6f7ef39e17801e8ca0cc... 8.0 16.00
2016-11-16 15:45:00 f45c4bfa9d6c445eb03ab69093f7ec1e9cdecef83cb2ce... 32.0 9.75
2016-01-15 17:45:00 ecfb6f2cdce5d4c4e80218f58070ae719060ee47e648f4... 32.0 14.75
2016-01-20 21:30:00 7d8179131ea9952793af4cda8635e94b56c2b92d3c376c... 32.0 7.25
2016-02-11 09:15:00 d5c4fbae1c0c510364404a90fd477b19f7f03408ce40ff... 35.0 18.75
假设我有一周的数据,我想实现以下目标:
这可以延长到一周中的几个小时,一年中的几个星期等等
到目前为止,我能够使用pivot_table
来获得整个时间范围内一天中每小时的平均收入(但这不是一周中的每小时),或者resample
来获得一段时间内的平均票价(但这不是出租车的“小时收入”,这是每次旅行的平均票价)。这两个都不能实现我想要的,我应该如何实现这一点?你知道吗
我首先将
df.grouby
与pandas中的Grouper
特性结合起来,就可以为我的数据实现这一点。因此,数据首先按ID分组,对于每个ID,它按时间段(例如小时)重新采样,最终可以通过此命令汇总该特定ID的每小时费用。你知道吗由于最后的unstack操作,
dfGrouped
现在包含了一个二维数组Taxi ID vs Hour。所有出租车ID(行)的中位数仅通过以下方式获得:相关问题 更多 >
编程相关推荐