熊猫的时差为分钟,

时间:2019-08-28 19:20:40

标签: python pandas

在Pandas DataFrame中计算了时差之后,我无法获得分钟数的时差,

import pandas as pd
df = pd.DataFrame({'year': [2019] * 5,'month': [8] * 5,'day': [16] * 5,'hour': [12, 12, 12, 12, 13],
                   'minute': [1, 2, 3, 4, 5]})

df_2 = pd.DataFrame({'year': [2019] * 5,'month': [7] * 5,'day': [22] * 5,'hour': [11, 12, 12, 13, 14],
                   'minute': [1, 2, 3, 4, 5]})

df = pd.DataFrame(pd.to_datetime(df), columns=['Time_Stamp'])
df_2 = pd.DataFrame(pd.to_datetime(df_2), columns=['Time_Stamp_2'])
df['Time_Stamp_2']=df_2['Time_Stamp_2']
df['TimeDiff'] =  df.Time_Stamp - df.Time_Stamp_2
df

尝试过df['TimeDiff'].dt.seconds/60,但忽略了Days的差异。

2 个答案:

答案 0 :(得分:2)

您需要使用total_seconds()

df['TimeDiff'] = (df.Time_Stamp - df.Time_Stamp_2).dt.total_seconds().div(60)

TimdeDiff列:

0    36060.0
1    36000.0
2    36000.0
3    35940.0
4    35940.0
Name: TimeDiff, dtype: float64

答案 1 :(得分:1)

运行:(df.Time_Stamp - df.Time_Stamp_2) / np.timedelta64(1, 'm')