簡體   English   中英

確定時間差

[英]Determine the difference between time

我有一個 dataframe 由如下所示的日期和時間列組成,日期格式為(MM/DD/YYYY);

|Date    | Time   |
|--------|--------|
|1/1/2019|1200hrs |
|1/1/2019|1300hrs |
|1/1/2019|1400hrs |
|1/2/2019|1200hrs |
|1/2/2019|1300hrs |
|1/2/2019|1400hrs |
|1/2/2019|1700hrs |

我想生成另一列顯示每次之間的差異,如下所示的 dataframe,

|Date    | Time   |Time difference(mins)|
|--------|--------|---------------------|
|1/1/2019|1200hrs |-                    |
|1/1/2019|1300hrs |60                   |
|1/1/2019|1400hrs |60                   |
|1/2/2019|1200hrs |-                    |
|1/2/2019|1300hrs |60                   |
|1/2/2019|1400hrs |60                   |
|1/2/2019|1700hrs |180                  |

時差應在同一日期計算。 誰能給我一些關於如何做的想法? 謝謝!

DataFrameGroupBy.diff與轉換為日期時間一起使用,最后將 timedeltas 轉換為以Series.dt.total_seconds為單位的秒數,並以除以60為最后轉換為分鍾數:

df['Time'] = pd.to_datetime(df['Date'] + df['Time'], format='%m/%d/%Y%H%Mhrs')
df['Time difference(mins)'] = df.groupby('Date')['Time'].diff().dt.total_seconds().div(60)
print (df)
       Date                Time  Time difference(mins)
0  1/1/2019 2019-01-01 12:00:00                    NaN
1  1/1/2019 2019-01-01 13:00:00                   60.0
2  1/1/2019 2019-01-01 14:00:00                   60.0
3  1/2/2019 2019-01-02 12:00:00                    NaN
4  1/2/2019 2019-01-02 13:00:00                   60.0
5  1/2/2019 2019-01-02 14:00:00                   60.0
6  1/2/2019 2019-01-02 17:00:00                  180.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM