在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的差异。
答案 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')