将时间增量转换为float64天数

2024-09-28 18:58:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两套熊猫约会时间。我为数据帧中的每一行减去它们,然后添加一列,得到两个日期时间之间的时间增量。我随后想用这个时间增量来缩放另一个特性。所以我想对时间差做些除法。没有骰子。在

TypeError:无法将float64数据除以TimedeltaArray

最后一行抛出错误。在

我试着用float64(I)运行pd系列


#Add column of number of days to next sample
df['daysToNextSample1']=df['nextSampleDate1']-df['currentDate']
df['percentChange']=df['percentChange']/df['daysToNextSample1']/(365.25/4)

Tags: of数据df错误时间特性骰子增量
2条回答

设置

now = pd.Timestamp('now').normalize()
df = pd.DataFrame(dict(
    nextSampleDate1=pd.date_range(now, periods=10),
    currentDate=now
))

df

  nextSampleDate1 currentDate
0      2019-07-02  2019-07-02
1      2019-07-03  2019-07-02
2      2019-07-04  2019-07-02
3      2019-07-05  2019-07-02
4      2019-07-06  2019-07-02
5      2019-07-07  2019-07-02
6      2019-07-08  2019-07-02
7      2019-07-09  2019-07-02
8      2019-07-10  2019-07-02
9      2019-07-11  2019-07-02

Timedelta列除以一天的Timedelta,该天数为

^{pr2}$

在您的情况下,MRE应该是理想的。你不去猜测df['percentChange']里面是什么。在

你可以很容易地对时间增量做除法:

pd.Timedelta('1 days 00:00:00') / 1.5
Out[15]: Timedelta('0 days 16:00:00')

24/1.5
Out[16]: 16.0

问题是您正在尝试执行以下操作,这是一个类型错误:

^{pr2}$

相关问题 更多 >