问题有点简单。我的目标是计算两个日期(例如A和B)之间的天差。
这是我的尝试:
df['daydiff'] = df['A']-df['B']
df['daydiff'] = ((df['A']) - (df['B'])).dt.days
df['daydiff'] = (pd.to_datetime(df['A'])-pd.to_datetime(df['B'])).dt.days
Run Code Online (Sandbox Code Playgroud)
这些以前对我有用,但由于某种原因,这次我一直收到此错误:
TypeError:类'datetime.time'不能转换为datetime
当我将df导出到excel时,日期就可以了。任何想法?
使用pd.Timestamp处理格式化时间中的尴尬差异。
df['A'] = df['A'].apply(pd.Timestamp) # will handle parsing
df['B'] = df['B'].apply(pd.Timestamp) # will handle parsing
df['day_diff'] = (df['A'] - df['B']).dt.days
Run Code Online (Sandbox Code Playgroud)
当然,如果您不想在要输出的DataFrame中更改df ['A']和df ['B']的格式,则可以单行执行。
df['day_diff'] = (df['A'].apply(pd.Timestamp) - df['B'].apply(pd.Timestamp)).dt.days
Run Code Online (Sandbox Code Playgroud)
这将使您之间的天数为整数。