0 202002-25 00: 29: 00
1 2020-02-24 23:50:002 2020-02-25 00: 31: 00
3 2020-02-25 02:03:00
4 2020-02-25 03:51: 00
做減法columnc=列A-列B,我得到:
0 0 days 00: 51: 00
1 0天 01:05:12.207000
2 0 天 00:50:41.817000
3 0天 00:23:00.
我想以分鐘為單位對C列進行轉換,例如,但我沒有找到在轉換中宣告天數的方法。我找到了這個主題。如何在Python中把日期時間轉換為整數,但它不包括天數,而且我沒有相同的分隔符,這可能嗎,或者我必須以某種方式改變列A和B?
一如既往地感謝你,
這個社區對于正在接觸這個話題的人來說非常有用。
uj5u.com熱心網友回復:
你可以使用dt.total_seconds() / 60:
>>> df.dt.total_seconds() / 60
0 51.00000
1 65.20345[/span
2 50.69695[/span
323.00000
dtype: float64
>>>。
簡單地得到總秒數,然后除以60得到分鐘。
如果你不想要額外的小數點,可以嘗試:
如果你不想要額外的小數點,可以嘗試:
>>> df.dt.total_seconds().astype(int) // 60
0 51
1 65
2 50
323
dtype: int32
>>>
uj5u.com熱心網友回復:
雖然我不確定你的確切日期格式(它是一個日期時間物件?它只是一個字串?),但假設它在這里是一個字串,最初你想把它轉換為一個日期時間物件:
datetime_object = datetime.strptime('2020-02-25 00:29:00'/span>, '%Y-%m-%d %H:%M:%S')
轉換后,(或者如果你已經有了一個資料時間物件),你可以減去它們:
timedelta_object = datetime_object2-dateetime_object1
最后,你可以將timedelta轉換成分鐘:
diff_minutes = timedelta_object.total_seconds()/60。
編輯:在提交之前,我剛剛看到U12-Forward已經發布了一個答案,其中大部分內容與這里的資訊相同,但我也將保留我的答案,因為它包含了更多細節。
uj5u.com熱心網友回復:
假設你的資料框架看起來像這樣(我只是從A欄減去了4天)
Column A Column B
0 2020-02-25 00:29。 00 2020-02-21 00: 29: 00
1 2020-02-24 23:50。 00 2020-02-20 23: 50: 002 2020-02-25 00:31: 00 2020-02-21 00: 31: 00
3 2020-02-25 02: 03: 00 2020-02-21 02:03:00
4 2020-02-25 03:51: 00 2020-02-21 03:51: 00
我們可以使用numpy來獲得整數的timedelta。
使用np.timedelta64并傳遞引數1 m 其中m = minute
import pandas as pd
import numpy as np
df['minute_delta'] = (df['Column A'] - df['Column B'] ) / np.timedelta64(1,'m')
欄A 欄B minute_delta
0 2020-02-25 00:29: 00 2020-02-21 00: 29:00 5760. 0
1 2020-02-24 23:50: 00 2020-02-20 23: 50:00 5760. 0
2 2020-02-25 00:31: 00 2020-02-21 00: 31:00 5760. 0
3 2020-02-25 02:03。 00 2020-02-21 02:03:00 5760。 0
4 2020-02-25 03:51: 00 2020-02-21 03:51: 00 5760. 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/311896.html
標籤:
