问题有点简单。我的目标是计算两个日期之间的天数差异,比如 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
这些以前对我有用,但由于某种原因,这次我不断收到此错误:
TypeError: class 'datetime.time' is not convertible to 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
当然,如果您不想在输出的 DataFrame 中更改 df['A'] 和 df['B'] 的格式,您可以在单行中执行此操作。
df['day_diff'] = (df['A'].apply(pd.Timestamp) - df['B'].apply(pd.Timestamp)).dt.days
这将为您提供整数之间的天数。
关于pandas - 类型错误 : <class 'datetime.time' > is not convertible to datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49389358/