Subject.iloc[1, 0] is equal to datetime.time(13, 16, 14, 336000)和Subject.iloc[2, 0] is equal to datetime.time(13, 16, 14, 338000)我要做的就是找到從 Subject.iloc[1, 0] 到 Subject.iloc[2, 0] 的經(jīng)過時(shí)間。但是當(dāng)我減去它們時(shí),它會(huì)說Subject.iloc[1, 0]-Subject.iloc[2, 0]TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'但后來(lái)我想也許我應(yīng)該使用時(shí)間增量 pd.to_timedelta(Subject.iloc[2, 0].astype(str))上面寫著 AttributeError: 'datetime.time' 對(duì)象沒有屬性 'astype'誰(shuí)能幫我這個(gè)?我做錯(cuò)了什么?甚至這個(gè)pd.to_timedelta(Subject.iloc[2, 0]) won't work
2 回答

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以嘗試這樣做
d1 = datetime.datetime.combine(datetime.date.today(), Subject.iloc[2, 0])
d2 = datetime.datetime.combine(datetime.date.today(), Subject.iloc[1, 0])
diff = d1 - d2
要使用 Pandas' to_timedelta,請(qǐng)執(zhí)行以下操作
pd.to_timedelta(str(Subject.iloc[2, 0]))

明月笑刀無(wú)情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
實(shí)際上,我最近不得不這樣做。您可以將日期時(shí)間(或在我的情況下的時(shí)間結(jié)構(gòu)對(duì)象)轉(zhuǎn)換為“自紀(jì)元以來(lái)的秒數(shù)”,然后進(jìn)行比較。
在 Python 中,如何將 `datetime` 對(duì)象轉(zhuǎn)換為秒?
對(duì)我來(lái)說,情況更復(fù)雜:
durSec = time.mktime(time.strptime(data[7], "%Y-%m-%d %H:%M:%S")) - time.mktime(time.strptime(data[6], "%Y-%m-%d %H:%M:%S"))
添加回答
舉報(bào)
0/150
提交
取消