鉴于以下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
添加回答
举报
0/150
提交
取消