python - 将 2 个不同年份的 .resample(D).size() 绘制到一张图表中?

我有一些 2019 年和 2020 年的数据,从每年的 3 月开始到 5 月底。

我已经完成了日期时间

    ####Working with Date
df['Date']= pd.to_datetime(df['Date'])
df['Time_Hour'] = df['Date'].apply(lambda x: x.hour)
df['Month'] = df['Date'].apply(lambda x: x.month)
df['Year'] = df['Date'].apply(lambda x: x.year)
df['Day'] = df['Date'].apply(lambda x: x.day)
df.set_index('Date', inplace=True)

并按年份分隔数据

df19 = df[df['Year'] == 2019]
df20 = df[df['Year'] == 2020]

如果我每年分别运行重采样

df19.resample('D').size().plot(title= '2019', legend=False)
#df20.resample('D').size().plot(title= '2019', legend=False)

我输出想要的图表

#df19.resample('D').size().plot(title= '2019', legend=False)
df20.resample('D').size().plot(title= '2019', legend=False)

但是我希望能够比较两个图表,当我尝试同时运行它们时,这是绘制的图表

df19.resample('D').size().plot(title= '2019', legend=False)
df20.resample('D').size().plot(title= '2019', legend=False)

我意识到 resample(D) 仍然关注年份,因此组合图表是正确的,但我想根据日期将它们一起比较。

关于如何完成这项工作有什么建议吗?

编辑:这是原始数据的 .head(20)(它没有显示 2020 年的数据,因为它太大了)

               Date        ID Case Number
0    3/1/2019 23:43  11610968    JC170728
1     3/3/2019 3:17  11611832    JC171944
2     3/4/2019 0:42  11612609    JC172806
3    3/4/2019 23:13  11613442    JC173895
4    3/10/2019 6:29  11618474    JC179991
5   3/12/2019 21:38  11621181    JC183336
6   3/14/2019 10:14  11623047    JC184966
7   3/14/2019 23:00  11623349    JC185895
8   3/14/2019 23:35  11623295    JC185924
9    3/15/2019 2:25  11623400    JC185990
10  3/15/2019 19:25  11624307    JC187019
11  3/15/2019 21:12  11624280    JC187114
12   3/16/2019 0:30  11624491    JC187272
13  3/16/2019 18:25  11625210    JC188160
14  3/17/2019 21:35  11626248    JC189475
15  3/18/2019 21:49  11627419    JC190873
16  3/20/2019 16:15  11629464    JC193053
17  3/21/2019 17:50  11630638    JC194480
18   3/22/2019 0:22  11630719    JC194815
19   3/22/2019 4:43  11630853    JC194892

这是上面提到的按年份分隔的数据帧的 .head(10)

                 Date        ID Case Number
0 2019-03-01 23:43:00  11610968    JC170728
1 2019-03-03 03:17:00  11611832    JC171944
2 2019-03-04 00:42:00  11612609    JC172806
3 2019-03-04 23:13:00  11613442    JC173895
4 2019-03-10 06:29:00  11618474    JC179991
5 2019-03-12 21:38:00  11621181    JC183336
6 2019-03-14 10:14:00  11623047    JC184966
7 2019-03-14 23:00:00  11623349    JC185895
8 2019-03-14 23:35:00  11623295    JC185924
9 2019-03-15 02:25:00  11623400    JC185990
                  Date        ID Case Number
84 2020-03-01 09:20:00  11996077    JD170035
85 2020-03-04 21:50:00  11999611    JD174374
86 2020-03-06 23:24:00  12001746    JD176808
87 2020-03-07 20:53:00  12002531    JD177851
88 2020-03-07 21:03:00  12002529    JD177805
89 2020-03-11 05:45:00  12005695    JD181579
90 2020-03-13 04:43:00  12007615    JD183927
91 2020-03-13 05:10:00  12007594    JD183934
92 2020-03-13 14:50:00  12008297    JD184421
93 2020-03-16 19:30:00  12011057    JD187968

最佳答案

这是我想出的一个组合在一起的“解决方案”,但我仍然对更好的东西持开放态度。我最终使用了 2020 年数据的偏移量 1 年(365 天)。

df19.resample('D').size().plot()
df20.resample('D', loffset = '-365d').size().plot()

https://stackoverflow.com/questions/63563802/

相关文章:

flutter - 如何使用计时器更新小部件

java - 无法在 Linux 上的 Intellij 中指定 SDK

python - 对包含 str 和元组的 Pandas MultiIndex 进行排序

Python - 在 asyncio 中取消任务?

python-3.x - TypeError : on heapq. heapop on pytho

python - 通过 Python 的 gRPC API 服务器无法工作

php - 带有 "sometimes"规则的 Laravel Validator 自定义消息

amazon-web-services - AWS API 网关上的剥离 header

python - Django:使用 django-storage 从 S3 创建 zipfile

c# - 如何从 .NET Core 3.1 中的 DI 获取 SignalR IHubContex