每次我用它来解决以下问题时,我都会得到: “TimedeltaProperties”对象没有属性“strftime”
df = pd.DataFrame({'Start_Date':pd.to_datetime(['2018-01-27','2018-08-31']),'End_Date':pd.to_datetime(['2019-03-13','2019-12-13'])})
diff = df['End_Date'] - df['Start_Date']
我希望 diff 是这样的:('%Y::%M::%D')
我怎样才能得到这个结果???
最佳答案
您可以使用dateutil
库来做到这一点:
pip install dateutil
它不是矢量化的,所以你必须在循环中执行它,这比内置的 pandas 函数慢很多:
from dateutil.relativedelta import relativedelta
def get_duration(row):
delta = relativedelta(row["End_Date"], row["Start_Date"])
return f"{delta.years} years {delta.months} months {delta.days} days"
df.apply(get_duration, axis=1)
关于python - “TimedeltaProperties”对象没有属性 'strftime',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75103427/