首页 > 解决方案 > python - pandas - 将特定日期(来自日期列表)发生的行组合在一起并在它们上交换一些功能 - 如何?

问题描述

我有一个数据框和一个特定日期列表:

d = {'case': [1,2,3,4,5], 'registration_datetime': ['2013-01-01 
00:00:16','2013-01-01 00:04:19','2013-01-01 00:12:53','2013-01-02 
00:16:40','2013-01-02 00:21:40'],'discharge_datetime':['2013-01-01 
01:41:02','2013-01-01 04:20:05
','2013-01-01 06:20:22
','2013-01-02 02:01:13
','2013-01-02 05:48:49
']}

df=pd.DataFrame(data=d)

spe_dates = DatetimeIndex(['2013-01-01', '2013-01-15',...])

我的基本目标是列出在某个特定日期登记的每个案件的登记和出院之间的持续时间。

如果不清楚,举个例子;日期“2013-01-01”在 spe_dates 列表中,所以我想计算在“2013-01-01”登记的案件的出院和登记日期时间之间的差异,这些案件是案件 1、2、3,这将是

01:41:02-00:00:16 = 01:40:46 ~ 1.76 小时,

04:20:05-00:04:19=04:15:46 ~ 4.26 小时,

06:20:22-00:12:53=06:07:29 ~ 6.05 小时

然后我想将它转换为小时或分钟,并有一个带有特定日期列表(spe_dates)和相关持续时间的数据框(或其他对象)。

想要的结果:

'2013-01-01':[1.76,4.26,6.05] '2013-01-15':[当天计算的小时列表] ....

我不知道如何做到这一点,尝试了一些使用 groupby 的解决方法,但不知道如何操作服装功能,例如计算某一行的日期时间对象之间的时间

将不胜感激任何帮助!

我不知道如何做到这一点,尝试了一些使用 groupby 的解决方法,但不知道如何操作服装功能,例如计算某一行的日期时间对象之间的时间

将不胜感激任何帮助!

标签: pandasdatetimepandas-groupby

解决方案


推荐阅读