Python 如何使用从时间戳计算的每日总分钟数创建新的Pandas列?
给定以下时间戳不为索引的Python 如何使用从时间戳计算的每日总分钟数创建新的Pandas列?,python,pandas,datetime,Python,Pandas,Datetime,给定以下时间戳不为索引的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-
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
我一直在尝试,但是我无法设置引用的开始时间(在我的情况下,我希望从00:00:00 hs
开始计算分钟数)。重要的是,minutes
应该是整数,而不是字符串
关于如何解决这个问题,有什么建议吗?您可以使用
dt.normalize
获取日期,减去并除以timdelta1T
:
df['minutes'] = (df.timestamp - df.timestamp.dt.normalize()) // pd.Timedelta('1T')
另一个选择(显然很简单):
输出:
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
@佩佩,谢谢!只需使用另一个选项进行更新,该选项更简单,但对于此用例来说是特定的:-)。
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