为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建新的 Pandas 列,并根据时间戳计算出每日总分钟数?

如何创建新的 Pandas 列,并根据时间戳计算出每日总分钟数?

HUX布斯 2023-12-29 16:13:13
鉴于以下df时间戳不是索引:   timestamp0  2020-10-23 12:20:00-04:00  1  2020-10-23 12:30:00-04:00  2  2020-10-23 12:40:00-04:003  2020-10-23 12:50:00-04:00我正在尝试创建一个新列minutes,其中包含从 00:00:00 开始计数的总分钟数。所以上面会输出   timestamp                      minutes0  2020-10-23 12:20:00-04:00      7401  2020-10-23 12:30:00-04:00      7502  2020-10-23 12:40:00-04:00      7603  2020-10-23 12:50:00-04:00      770我一直在尝试pd.timedelta但是我无法设置参考的开始时间(在我的情况下,我希望从 开始计算分钟数00:00:00 hs)。重要的是,minutes应该是整数而不是字符串。关于如何解决这个问题有什么建议吗?
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

您可以使用dt.normalize获取日期、减去并除 timdelta 1T:


df['minutes'] = (df.timestamp - df.timestamp.dt.normalize()) // pd.Timedelta('1T')

另一种选择(显然很简单):


df['minutes'] = df.timestamp.dt.hour * 60 + df.timestamp.dt.minute

输出:


                  timestamp  minutes

0 2020-10-23 12:20:00-04:00      740

1 2020-10-23 12:30:00-04:00      750

2 2020-10-23 12:40:00-04:00      760

3 2020-10-23 12:50:00-04:00      770


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信