python - “TimedeltaProperties”对象没有属性 'strftime'

标签 python pandas datetime timedelta strftime

每次我用它来解决以下问题时,我都会得到: “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'])})
<表类=“s-表”> <标题> 开始日期 结束日期 <正文> 2018-01-27 00:00:00 2019-12-13 00:00:00 2018-08-31 00:00:00 2019-03-13 00:00:00
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/

相关文章:

python - 将单个索引列表拆分为多个列表索引?

python - 如何在 pandas df 中获取不同的行并将重复的项目合并到列中?

python - Pandas 中的字符串匹配和 bool 值重新分配

wpf - 将 WPF Toolkit 日期选择器的值重置为 'default' 值

php - MYSQL DateTime 与数据库中保存的 strtotime 字符串

PHP 时间和日期函数与对象

尝试制作更大/更小的窗口时,python gtk.window.resize 不起作用

python - Pytorch "Unfold"相当于 Tensorflow

python - 如何在标签编码时更改数据框中列的数据类型?

python - 从 n m 列数据帧创建 m n 列数据帧