[英]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.