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

鉴于以下df时间戳不是索引:


   timestamp

0  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:00

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

我正在尝试创建一个新列minutes,其中包含从 00:00:00 开始计数的总分钟数。


所以上面会输出


   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

我一直在尝试pd.timedelta但是我无法设置参考的开始时间(在我的情况下,我希望从 开始计算分钟数00:00:00 hs)。重要的是,minutes应该是整数而不是字符串。


关于如何解决这个问题有什么建议吗?


HUX布斯
浏览 53回答 1
1回答

当年话下

您可以使用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  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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python