gpt4 book ai didi

Python pandas 将 date_range 应用于两列

转载 作者:行者123 更新时间:2023-12-01 04:01:04 25 4
gpt4 key购买 nike

我的数据框如下所示:

df[['reported_date', 'current_date']].head()
reported_date current_date
0 2016-01-15 13:58:21 2016-01-18 00:00:00
1 2016-01-14 10:51:24 2016-01-18 00:00:00
2 2016-01-15 15:17:35 2016-01-18 00:00:00
3 2016-01-17 17:07:10 2016-01-18 00:00:00
4 2016-01-17 17:08:23 2016-01-18 00:00:00

我可以直接应用日期减法,例如:

df[['reported_date', 'current_date']].head().apply(lambda x: x[1]-x[0], axis=1)

但是当我尝试应用 date_range 来获取天数之间的间隔时,出现以下错误

df[['reported_date', 'current_date']].head().apply(lambda x: pd.date_range(x[0], x[1], freq='B'), axis=1)

"ValueError: Length of values does not match length of index"

那么将 date_range() 应用于两列 datetime 的正确方法是什么?

提前谢谢您。

最佳答案

pd.date_range 不返回间隔。它返回开始和结束之间的一系列(实际上是 DateTimeIndex)所有日期时间对象。由于这里的开始是reported_date并且是可变的,而结束是current_date并且是固定的,所以你会得到一系列不同长度的序列,这显然不能很好地适合单个(新)列。

您之前使用的减法可以得出日期之间的间隔。因此没有理由使用 pd.date_range:x[1] - x[0] 正是您想要的。

关于Python pandas 将 date_range 应用于两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com