首页 > 解决方案 > 如何将两个时间间隔列分组为可识别的月份?

问题描述

我有一个按美国县分类的住房市场数据集,显示诸如 total_homes_sold 之类的列。我试图展示房屋销售同比(例如 2020 年 1 月与 2019 年 1 月)和县(例如阿伯丁 2020 年 3 月与萨福克 2020 年 3 月)之间的比较。但是不确定如何对日期进行分组,因为它们不是按月份(1 月、2 月、3 月等)排序的,而是按 4 周的间隔排序:period_begin 和 period_end。

年份之间的间隔不同。2019 年阿伯丁(1 月左右)的 period_begin 可能是 1/7 到 2/3,但 2020 年可能是 1/6 到 2/2(如下图所示)。

我尝试使用count(下面的代码)将每个 4 周的时间段标记为一个数字(如下所示),我认为我可以将 Aberdeen 2017-1 与 Aberdeen 2020-1(1 编码为第一个时间间隔)进行比较,但我意识到有些年一些地区一年中有 4 周的周期比其他地区多(2017 年有 13 周,而 2018 年有 14 周)。

*df['count'] = df.groupby((everyfourth['region_name'] != df['region_name'].shift(1)).cumsum()).cumcount()+1*

关于我可以使用什么代码将这两列紧密分类为类似月份的时间段的任何想法?

数据集片段在这里

如果您有任何问题,请告诉我。不知道我说的有道理!谢谢。

标签: pythonpython-3.xpandasdataframetime

解决方案


推荐阅读