鑒于以下df時(shí)間戳不是索引: 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我正在嘗試創(chuàng)建一個(gè)新列minutes,其中包含從 00:00:00 開(kāi)始計(jì)數(shù)的總分鐘數(shù)。所以上面會(huì)輸出 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但是我無(wú)法設(shè)置參考的開(kāi)始時(shí)間(在我的情況下,我希望從 開(kāi)始計(jì)算分鐘數(shù)00:00:00 hs)。重要的是,minutes應(yīng)該是整數(shù)而不是字符串。關(guān)于如何解決這個(gè)問(wèn)題有什么建議嗎?
1 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用dt.normalize獲取日期、減去并除 timdelta 1T:
df['minutes'] = (df.timestamp - df.timestamp.dt.normalize()) // pd.Timedelta('1T')
另一種選擇(顯然很簡(jiǎn)單):
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
添加回答
舉報(bào)
0/150
提交
取消